[CodeEmitter] Improve testing for APInt encoding

I missed Artem's comment in D67487 before committing.

Differential Revision: https://reviews.llvm.org/D67487

llvm-svn: 371929
This commit is contained in:
James Molloy 2019-09-15 08:44:40 +00:00
parent 60aadd19cb
commit a088b95f89
1 changed files with 7 additions and 10 deletions

View File

@ -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;