35 lines · plain
1// RUN: llvm-tblgen %s | FileCheck %s2// XFAIL: vg_leak3 4// CHECK: bit IsDouble = 1;5// CHECK: bit IsDouble = 1;6// CHECK: bit IsDouble = 1;7// CHECK-NOT: bit IsDouble = 1;8 9class Instruction<bits<4> opc, string Name> {10 bits<4> opcode = opc;11 string name = Name;12 bit IsDouble = 0;13}14 15multiclass basic_r<bits<4> opc> {16 let name = "newname" in {17 def rr : Instruction<opc, "rr">;18 def rm : Instruction<opc, "rm">;19 }20 21 let name = "othername" in22 def rx : Instruction<opc, "rx">;23}24 25multiclass basic_ss<bits<4> opc> {26 let IsDouble = 0 in27 defm SS : basic_r<opc>;28 29 let IsDouble = 1 in30 defm SD : basic_r<opc>;31}32 33defm ADD : basic_ss<0xf>;34 35