36 lines · plain
1// RUN: not llvm-tblgen -gen-disassembler -I %p/../../../include %s -o /dev/null 2>&1 \2// RUN: | FileCheck --strict-whitespace %s3 4include "llvm/Target/Target.td"5 6class I : Instruction {7 let InOperandList = (ins i32imm:$op, i32imm:$op2, i32imm:$op3);8 let OutOperandList = (outs);9}10 11// Check pretty printing of decoding conflicts.12 13// CHECK: {{^}}Decoding Conflict:14// CHECK-NEXT: {{^}} ........15// CHECK-NEXT: {{^}} ..............1116// CHECK-NEXT: {{^}} .......0......1117// CHECK-NEXT: {{^}} _______0______11 I16_018// CHECK-NEXT: {{^}} _______0______11 I16_119// CHECK-NEXT: {{^}} _______0_______0______11 I24_020 21def I8_0 : I { dag Inst = (descend (operand "$op", 6), 0b00); }22def I8_1 : I { dag Inst = (descend (operand "$op", 6), 0b01); }23def I16_0 : I { dag Inst = (descend (operand "$op2", 7), 0b0,24 (operand "$op", 6), 0b11); }25def I16_1 : I { dag Inst = (descend (operand "$op2", 7), 0b0,26 (operand "$op", 6), 0b11); }27def I24_0 : I { dag Inst = (descend (operand "$op3", 7), 0b0,28 (operand "$op2", 7), 0b0,29 (operand "$op", 6), 0b11); }30 31def II : InstrInfo;32 33def MyTarget : Target {34 let InstructionSet = II;35}36