diff options
Diffstat (limited to 'llvm/test/TableGen')
-rw-r--r-- | llvm/test/TableGen/CompressInstEmitter/suboperands.td | 37 | ||||
-rw-r--r-- | llvm/test/TableGen/RuntimeLibcallEmitter.td | 6 | ||||
-rw-r--r-- | llvm/test/TableGen/get-named-operand-idx.td | 12 | ||||
-rw-r--r-- | llvm/test/TableGen/getsetop.td | 14 | ||||
-rw-r--r-- | llvm/test/TableGen/unsetop.td | 6 |
5 files changed, 47 insertions, 28 deletions
diff --git a/llvm/test/TableGen/CompressInstEmitter/suboperands.td b/llvm/test/TableGen/CompressInstEmitter/suboperands.td index d83cc04..f4e43d5 100644 --- a/llvm/test/TableGen/CompressInstEmitter/suboperands.td +++ b/llvm/test/TableGen/CompressInstEmitter/suboperands.td @@ -115,7 +115,7 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(0).getReg()) && // CHECK-NEXT: MI.getOperand(1).isReg() && // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && -// CHECK-NEXT: ArchValidateMCOperandForCompress(MI.getOperand(2), STI, 1)) { +// CHECK-NEXT: ArchValidateMCOperandForCompress(MI.getOperand(2), STI, 1 /* simm6 */)) { // CHECK-NEXT: // small $dst, $addr // CHECK-NEXT: OutInst.setOpcode(Arch::SmallInst); // CHECK-NEXT: // Operand: dst @@ -131,7 +131,7 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(0).getReg()) && // CHECK-NEXT: MI.getOperand(1).isReg() && // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && -// CHECK-NEXT: ArchValidateMCOperandForCompress(MI.getOperand(2), STI, 1)) { +// CHECK-NEXT: ArchValidateMCOperandForCompress(MI.getOperand(2), STI, 1 /* simm6 */)) { // CHECK-NEXT: // small $dst, $src, $imm // CHECK-NEXT: OutInst.setOpcode(Arch::SmallInst2); // CHECK-NEXT: // Operand: dst @@ -148,7 +148,7 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(0).getReg()) && // CHECK-NEXT: MI.getOperand(1).isReg() && // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && -// CHECK-NEXT: ArchValidateMCOperandForCompress(MI.getOperand(2), STI, 1)) { +// CHECK-NEXT: ArchValidateMCOperandForCompress(MI.getOperand(2), STI, 1 /* simm6 */)) { // CHECK-NEXT: // small $dst, $addr // CHECK-NEXT: OutInst.setOpcode(Arch::SmallInst3); // CHECK-NEXT: // Operand: dst @@ -161,16 +161,17 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: } // if // CHECK-LABEL: ArchValidateMCOperandForUncompress -// CHECK: // simm12 -// CHECK: return isInt<12>(Imm); +// CHECK: // simm6 +// CHECK: return isInt<6>(Imm); // CHECK-LABEL: uncompressInst // CHECK: case Arch::SmallInst: // CHECK-NEXT: if (MI.getOperand(0).isReg() && -// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsRegClassID].contains(MI.getOperand(0).getReg()) && +// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(0).getReg()) && // CHECK-NEXT: MI.getOperand(1).isReg() && -// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsRegClassID].contains(MI.getOperand(1).getReg()) && -// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 1)) { +// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && +// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 1 /* simm6 */) && +// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 2 /* simm12 */)) // CHECK-NEXT: // big $dst, $addr // CHECK-NEXT: OutInst.setOpcode(Arch::BigInst); // CHECK-NEXT: // Operand: dst @@ -183,10 +184,11 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: } // if // CHECK: case Arch::SmallInst2: // CHECK-NEXT: if (MI.getOperand(0).isReg() && -// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsRegClassID].contains(MI.getOperand(0).getReg()) && +// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(0).getReg()) && // CHECK-NEXT: MI.getOperand(1).isReg() && -// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsRegClassID].contains(MI.getOperand(1).getReg()) && -// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 1)) { +// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && +// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 1 /* simm6 */) && +// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 2 /* simm12 */)) { // CHECK-NEXT: // big $dst, $addr // CHECK-NEXT: OutInst.setOpcode(Arch::BigInst2); // CHECK-NEXT: // Operand: dst @@ -199,10 +201,11 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: } // if // CHECK: case Arch::SmallInst3: // CHECK-NEXT: if (MI.getOperand(0).isReg() && -// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsRegClassID].contains(MI.getOperand(0).getReg()) && +// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(0).getReg()) && // CHECK-NEXT: MI.getOperand(1).isReg() && -// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsRegClassID].contains(MI.getOperand(1).getReg()) && -// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 1)) { +// CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && +// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 1 /* simm6 */) && +// CHECK-NEXT: ArchValidateMCOperandForUncompress(MI.getOperand(2), STI, 2 /* simm12 */)) { // CHECK-NEXT: // big $dst, $src, $imm // CHECK-NEXT: OutInst.setOpcode(Arch::BigInst3); // CHECK-NEXT: // Operand: dst @@ -226,7 +229,7 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: MI.getOperand(1).isReg() && MI.getOperand(1).getReg().isPhysical() && // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && // CHECK-NEXT: MI.getOperand(2).isImm() && -// CHECK-NEXT: ArchValidateMachineOperand(MI.getOperand(2), &STI, 1)) { +// CHECK-NEXT: ArchValidateMachineOperand(MI.getOperand(2), &STI, 1 /* simm6 */)) { // CHECK-NEXT: // small $dst, $addr // CHECK-NEXT: // Operand: dst // CHECK-NEXT: // Operand: addr @@ -238,7 +241,7 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: MI.getOperand(1).isReg() && MI.getOperand(1).getReg().isPhysical() && // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && // CHECK-NEXT: MI.getOperand(2).isImm() && -// CHECK-NEXT: ArchValidateMachineOperand(MI.getOperand(2), &STI, 1)) { +// CHECK-NEXT: ArchValidateMachineOperand(MI.getOperand(2), &STI, 1 /* simm6 */)) { // CHECK-NEXT: // small $dst, $src, $imm // CHECK-NEXT: // Operand: dst // CHECK-NEXT: // Operand: src @@ -251,7 +254,7 @@ def : CompressPat<(BigInst3 RegsC:$dst, RegsC:$src, simm6:$imm), // CHECK-NEXT: MI.getOperand(1).isReg() && MI.getOperand(1).getReg().isPhysical() && // CHECK-NEXT: ArchMCRegisterClasses[Arch::RegsCRegClassID].contains(MI.getOperand(1).getReg()) && // CHECK-NEXT: MI.getOperand(2).isImm() && -// CHECK-NEXT: ArchValidateMachineOperand(MI.getOperand(2), &STI, 1)) { +// CHECK-NEXT: ArchValidateMachineOperand(MI.getOperand(2), &STI, 1 /* simm6 */)) { // CHECK-NEXT: // small $dst, $addr // CHECK-NEXT: // Operand: dst // CHECK-NEXT: // Operand: addr diff --git a/llvm/test/TableGen/RuntimeLibcallEmitter.td b/llvm/test/TableGen/RuntimeLibcallEmitter.td index 579e3c7..783a861 100644 --- a/llvm/test/TableGen/RuntimeLibcallEmitter.td +++ b/llvm/test/TableGen/RuntimeLibcallEmitter.td @@ -95,8 +95,8 @@ def BlahLibrary : SystemRuntimeLibrary<isBlahArch, (add calloc, LibraryWithCondi // CHECK-NEXT: __lshrdi3 = 4, // __lshrdi3 // CHECK-NEXT: bzero = 5, // bzero // CHECK-NEXT: calloc = 6, // calloc -// CHECK-NEXT: sqrtl_f80 = 7, // sqrtl -// CHECK-NEXT: sqrtl_f128 = 8, // sqrtl +// CHECK-NEXT: sqrtl_f128 = 7, // sqrtl +// CHECK-NEXT: sqrtl_f80 = 8, // sqrtl // CHECK-NEXT: NumLibcallImpls = 9 // CHECK-NEXT: }; // CHECK-NEXT: } // End namespace RTLIB @@ -157,8 +157,8 @@ def BlahLibrary : SystemRuntimeLibrary<isBlahArch, (add calloc, LibraryWithCondi // CHECK-NEXT: RTLIB::SRL_I64, // RTLIB::__lshrdi3 // CHECK-NEXT: RTLIB::BZERO, // RTLIB::bzero // CHECK-NEXT: RTLIB::CALLOC, // RTLIB::calloc -// CHECK-NEXT: RTLIB::SQRT_F80, // RTLIB::sqrtl_f80 // CHECK-NEXT: RTLIB::SQRT_F128, // RTLIB::sqrtl_f128 +// CHECK-NEXT: RTLIB::SQRT_F80, // RTLIB::sqrtl_f80 // CHECK-NEXT: }; diff --git a/llvm/test/TableGen/get-named-operand-idx.td b/llvm/test/TableGen/get-named-operand-idx.td index f5c5d93..ab23edd 100644 --- a/llvm/test/TableGen/get-named-operand-idx.td +++ b/llvm/test/TableGen/get-named-operand-idx.td @@ -72,14 +72,10 @@ def InstD : InstBase { // CHECK: {0, 1, 2, -1, -1, }, // CHECK: {-1, -1, -1, 0, 1, }, // CHECK: }; -// CHECK: switch(Opcode) { -// CHECK: case MyNamespace::InstA: -// CHECK: return OperandMap[0][static_cast<unsigned>(Name)]; -// CHECK: case MyNamespace::InstB: -// CHECK: case MyNamespace::InstC: -// CHECK: return OperandMap[1][static_cast<unsigned>(Name)]; -// CHECK: default: return -1; -// CHECK: } +// CHECK: static constexpr uint8_t InstructionIndex[] = { +// CHECK: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +// CHECK: }; +// CHECK: return OperandMap[InstructionIndex[Opcode]][(unsigned)Name]; // CHECK: } // CHECK: } // end namespace llvm::MyNamespace // CHECK: #endif //GET_INSTRINFO_NAMED_OPS diff --git a/llvm/test/TableGen/getsetop.td b/llvm/test/TableGen/getsetop.td index aac644f..031606f 100644 --- a/llvm/test/TableGen/getsetop.td +++ b/llvm/test/TableGen/getsetop.td @@ -28,6 +28,7 @@ def bob : Super; def test { dag orig = (foo 1, 2:$a, $b); dag another = (qux "hello", $world); + dag named = (foo:$root 1, 2:$a, $b); // CHECK: dag replaceWithBar = (bar 1, 2:$a, ?:$b); dag replaceWithBar = !setop(orig, bar); @@ -41,6 +42,19 @@ def test { // CHECK: dag getopToSetop = (foo "hello", ?:$world); dag getopToSetop = !setdagop(another, !getdagop(orig)); + // CHECK: dag setOpName = (foo:$baz 1, 2:$a, ?:$b); + dag setOpName = !setdagopname(orig, "baz"); + + // CHECK: dag getopNameToSetOpName = (foo:$root 1, 2:$a, ?:$b); + dag getopNameToSetOpName = !setdagopname(orig, !getdagopname(named)); + + // CHECK: dag setOpNameExpl = (foo:$baz 1, 2:$a, ?:$b); + dag setOpNameExpl = !setdagopname((foo 1, 2:$a, $b), "baz"); + + // CHECK: dag getopNameToSetOpNameExpl = (foo:$root 1, 2:$a, ?:$b); + dag getopNameToSetOpNameExpl = + !setdagopname(orig, !getdagopname((foo:$root 1, 2:$a, $b))); + // CHECK: dag getopToBangDag = (foo 1:$a, 2:$b, 3:$c); dag getopToBangDag = !dag(!getdagop(orig), [1, 2, 3], ["a", "b", "c"]); diff --git a/llvm/test/TableGen/unsetop.td b/llvm/test/TableGen/unsetop.td index 7a4f98a..54ede19 100644 --- a/llvm/test/TableGen/unsetop.td +++ b/llvm/test/TableGen/unsetop.td @@ -16,6 +16,12 @@ def test { dag undefSecond = !con((op 1), (? 2)); // CHECK: dag undefBoth = (? 1, 2); dag undefBoth = !con((? 1), (? 2)); + // CHECK: dag namedLHS = (op:$lhs 1, 2); + dag namedLHS = !con((op:$lhs 1), (op 2)); + // CHECK: dag namedRHS = (op:$rhs 1, 2); + dag namedRHS = !con((op 1), (op:$rhs 2)); + // CHECK: dag namedBoth = (op:$lhs 1, 2); + dag namedBoth = !con((op:$lhs 1), (op:$rhs 2)); #ifdef ERROR // ERROR: Concatenated Dag operators do not match: '(op 1)' vs. '(otherop 2)' |