| 12345678910111213141516171819202122232425262728293031323334 |
- // RUN: llvm-tblgen %s | FileCheck %s
- // XFAIL: vg_leak
- // CHECK: bit IsDouble = 1;
- // CHECK: bit IsDouble = 1;
- // CHECK: bit IsDouble = 1;
- // CHECK-NOT: bit IsDouble = 1;
- class Instruction<bits<4> opc, string Name> {
- bits<4> opcode = opc;
- string name = Name;
- bit IsDouble = 0;
- }
- multiclass basic_r<bits<4> opc> {
- let name = "newname" in {
- def rr : Instruction<opc, "rr">;
- def rm : Instruction<opc, "rm">;
- }
- let name = "othername" in
- def rx : Instruction<opc, "rx">;
- }
- multiclass basic_ss<bits<4> opc> {
- let IsDouble = 0 in
- defm SS : basic_r<opc>;
- let IsDouble = 1 in
- defm SD : basic_r<opc>;
- }
- defm ADD : basic_ss<0xf>;
|