blob: 7353d3630b4d76c59b82e4f477ef384c2d790d4b [file] [log] [blame]
Bill Wendling7c20aab2013-08-22 20:46:05 +00001// RUN: llvm-tblgen %s | FileCheck %s
2
3// CHECK: ADDPSrr
4// CHECK-NOT: ADDPSrr
Bruno Cardoso Lopesc4f61482010-06-05 02:11:52 +00005
6class Instruction<bits<4> opc, string Name> {
7 bits<4> opcode = opc;
8 string name = Name;
9}
10
11multiclass basic_r<bits<4> opc> {
12 def rr : Instruction<opc, "rr">;
13 def rm : Instruction<opc, "rm">;
14}
15
16multiclass basic_s<bits<4> opc> {
17 defm SS : basic_r<opc>;
18 defm SD : basic_r<opc>;
19}
20
21multiclass basic_p<bits<4> opc> {
22 defm PS : basic_r<opc>;
23 defm PD : basic_r<opc>;
24}
25
26defm ADD : basic_s<0xf>, basic_p<0xf>;
27defm SUB : basic_s<0xe>, basic_p<0xe>;