brintos

brintos / llvm-project-archived public Read only

0
0
Text · 664 B · 095f37b Raw
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