From 305c516b15e4f266d88a27747034a8f5325814bd Mon Sep 17 00:00:00 2001 From: James Molloy Date: Sun, 15 Sep 2019 08:44:40 +0000 Subject: [PATCH] [CodeEmitter] Improve testing for APInt encoding I missed Artem's comment in D67487 before committing. Differential Revision: https://reviews.llvm.org/D67487 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371929 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/TableGen/BigEncoder.td | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/test/TableGen/BigEncoder.td b/test/TableGen/BigEncoder.td index 2841b0d6f0d..56689afb152 100644 --- a/test/TableGen/BigEncoder.td +++ b/test/TableGen/BigEncoder.td @@ -45,17 +45,8 @@ def biz : Instruction { field bits<16> SoftFail = 0; } -def baz : Instruction { - let InOperandList = (ins Myi32:$factor); - field bits<65> Inst; - bits<32> factor; - let Inst{7-0} = 0xDD; - let Inst{15-8} = factor{11-4}; // offset by 4 + custom decode - let AsmString = "baz $factor"; - field bits<16> SoftFail = 0; - } - } + // CHECK-LABEL: case ::biz: { // CHECK: const APInt [[x:M[0-9]+]] = APInt::getBitsSet(65, 3, 7); // CHECK-NEXT: Value |= (op & [[x]]) << 9; @@ -67,3 +58,9 @@ def baz : Instruction { // CHECK-NEXT: op &= [[x]]; // CHECK-NEXT: op <<= 8; // CHECK-NEXT: Value |= op; + +// CHECK-LABEL: case ::bar: { +// CHECK: const APInt [[x:M[0-9]+]] = APInt::getBitsSet(65, 3, 11); +// CHECK-NEXT: op &= [[x]]; +// CHECK-NEXT: op <<= 5; +// CHECK-NEXT: Value |= op; -- 2.40.0