diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td index b20b2599db5..f1da7bdbeb3 100644 --- a/lib/Target/PowerPC/PPCInstrFormats.td +++ b/lib/Target/PowerPC/PPCInstrFormats.td @@ -46,12 +46,6 @@ class I opcode, bit ppc64, bit vmx, dag OL, string asmstr> : Instruction { field bits<32> Inst; - bits<3> ArgCount; - bits<5> Arg0Type; - bits<5> Arg1Type; - bits<5> Arg2Type; - bits<5> Arg3Type; - bits<5> Arg4Type; bit PPC64 = ppc64; bit VMX = vmx; @@ -67,13 +61,6 @@ class IForm opcode, bit aa, bit lk, bit ppc64, bit vmx, dag OL, string asmstr> : I { bits<24> LI; - let ArgCount = 1; - let Arg0Type = Imm24.Value; - let Arg1Type = 0; - let Arg2Type = 0; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-29} = LI; let Inst{30} = aa; let Inst{31} = lk; @@ -86,13 +73,6 @@ class BForm opcode, bit aa, bit lk, bit ppc64, bit vmx, bits<5> BI; bits<14> BD; - let ArgCount = 3; - let Arg0Type = Imm5.Value; - let Arg1Type = Imm5.Value; - let Arg2Type = PCRelimm14.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = BO; let Inst{11-15} = BI; let Inst{16-29} = BD; @@ -103,10 +83,6 @@ class BForm opcode, bit aa, bit lk, bit ppc64, bit vmx, class BForm_ext opcode, bit aa, bit lk, bits<5> bo, bits<5> bi, bit ppc64, bit vmx, dag OL, string asmstr> : BForm { - let ArgCount = 2; - let Arg2Type = Imm5.Value; - let Arg1Type = PCRelimm14.Value; - let Arg2Type = 0; let BO = bo; let BI = bi; } @@ -118,13 +94,6 @@ class DForm_base opcode, bit ppc64, bit vmx, dag OL, string asmstr> bits<5> B; bits<16> C; - let ArgCount = 3; - let Arg0Type = Gpr.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Simm16.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = A; let Inst{11-15} = B; let Inst{16-31} = C; @@ -136,13 +105,6 @@ class DForm_1 opcode, bit ppc64, bit vmx, dag OL, string asmstr> bits<16> C; bits<5> B; - let ArgCount = 3; - let Arg0Type = Gpr.Value; - let Arg1Type = Disimm16.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = A; let Inst{11-15} = B; let Inst{16-31} = C; @@ -156,13 +118,6 @@ class DForm_2_r0 opcode, bit ppc64, bit vmx, dag OL, string asmstr> bits<5> A; bits<16> B; - let ArgCount = 2; - let Arg0Type = Gpr.Value; - let Arg1Type = Simm16.Value; - let Arg2Type = 0; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = A; let Inst{11-15} = 0; let Inst{16-31} = B; @@ -177,10 +132,6 @@ class DForm_4 opcode, bit ppc64, bit vmx, dag OL, string asmstr> class DForm_4_zero opcode, bit ppc64, bit vmx, dag OL, string asmstr> : DForm_1 { - let ArgCount = 0; - let Arg0Type = 0; - let Arg1Type = 0; - let Arg2Type = 0; let A = 0; let B = 0; let C = 0; @@ -193,13 +144,6 @@ class DForm_5 opcode, bit ppc64, bit vmx, dag OL, string asmstr> bits<5> RA; bits<16> I; - let ArgCount = 4; - let Arg0Type = Imm3.Value; - let Arg1Type = Imm1.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = Simm16.Value; - let Arg4Type = 0; - let Inst{6-8} = BF; let Inst{9} = 0; let Inst{10} = L; @@ -210,11 +154,6 @@ class DForm_5 opcode, bit ppc64, bit vmx, dag OL, string asmstr> class DForm_5_ext opcode, bit ppc64, bit vmx, dag OL, string asmstr> : DForm_5 { let L = ppc64; - let ArgCount = 3; - let Arg0Type = Imm3.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Simm16.Value; - let Arg3Type = 0; } class DForm_6 opcode, bit ppc64, bit vmx, dag OL, string asmstr> @@ -223,21 +162,14 @@ class DForm_6 opcode, bit ppc64, bit vmx, dag OL, string asmstr> class DForm_6_ext opcode, bit ppc64, bit vmx, dag OL, string asmstr> : DForm_6 { let L = ppc64; - let ArgCount = 3; - let Arg0Type = Imm3.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Simm16.Value; - let Arg3Type = 0; } class DForm_8 opcode, bit ppc64, bit vmx, dag OL, string asmstr> : DForm_1 { - let Arg0Type = Fpr.Value; } class DForm_9 opcode, bit ppc64, bit vmx, dag OL, string asmstr> : DForm_1 { - let Arg0Type = Fpr.Value; } // 1.7.5 DS-Form @@ -247,13 +179,6 @@ class DSForm_1 opcode, bits<2> xo, bit ppc64, bit vmx, bits<14> DS; bits<5> RA; - let ArgCount = 3; - let Arg0Type = Gpr.Value; - let Arg1Type = Disimm14.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = RST; let Inst{11-15} = RA; let Inst{16-29} = DS; @@ -272,13 +197,6 @@ class XForm_base_r3xo opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, bits<5> A; bits<5> B; - let ArgCount = 3; - let Arg0Type = Gpr.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = RST; let Inst{11-15} = A; let Inst{16-20} = B; @@ -294,9 +212,6 @@ class XForm_1 opcode, bits<10> xo, bit ppc64, bit vmx, class XForm_5 opcode, bits<10> xo, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_base_r3xo { - let ArgCount = 1; - let Arg1Type = 0; - let Arg2Type = 0; let A = 0; let B = 0; } @@ -312,14 +227,11 @@ class XForm_8 opcode, bits<10> xo, bit ppc64, bit vmx, class XForm_10 opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_base_r3xo { - let Arg2Type = Imm5.Value; } class XForm_11 opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_base_r3xo { - let ArgCount = 2; - let Arg2Type = 0; let B = 0; } @@ -330,13 +242,6 @@ class XForm_16 opcode, bits<10> xo, bit ppc64, bit vmx, bits<5> RA; bits<5> RB; - let ArgCount = 4; - let Arg0Type = Imm3.Value; - let Arg1Type = Imm1.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = Gpr.Value; - let Arg4Type = 0; - let Inst{6-8} = BF; let Inst{9} = 0; let Inst{10} = L; @@ -349,10 +254,6 @@ class XForm_16 opcode, bits<10> xo, bit ppc64, bit vmx, class XForm_16_ext opcode, bits<10> xo, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_16 { - let ArgCount = 3; - let Arg1Type = Gpr.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = 0; let L = ppc64; } @@ -362,13 +263,6 @@ class XForm_17 opcode, bits<10> xo, bit ppc64, bit vmx, bits<5> FRA; bits<5> FRB; - let ArgCount = 3; - let Arg0Type = Imm3.Value; - let Arg1Type = Fpr.Value; - let Arg2Type = Fpr.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-8} = BF; let Inst{9-10} = 0; let Inst{11-15} = FRA; @@ -380,34 +274,23 @@ class XForm_17 opcode, bits<10> xo, bit ppc64, bit vmx, class XForm_25 opcode, bits<10> xo, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_base_r3xo { - let Arg0Type = Fpr.Value; - let Arg1Type = Gpr0.Value; } class XForm_26 opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_base_r3xo { - let ArgCount = 2; - let Arg0Type = Fpr.Value; - let Arg1Type = Fpr.Value; - let Arg2Type = 0; let A = 0; } class XForm_28 opcode, bits<10> xo, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_base_r3xo { - let Arg0Type = Fpr.Value; - let Arg1Type = Gpr0.Value; } // 1.7.7 XL-Form class XLForm_1 opcode, bits<10> xo, bit ppc64, bit vmx, dag OL, string asmstr> : XForm_base_r3xo { - let Arg0Type = Imm5.Value; - let Arg1Type = Imm5.Value; - let Arg2Type = Imm5.Value; } class XLForm_2 opcode, bits<10> xo, bit lk, bit ppc64, bit vmx, @@ -416,13 +299,6 @@ class XLForm_2 opcode, bits<10> xo, bit lk, bit ppc64, bit vmx, bits<5> BI; bits<2> BH; - let ArgCount = 3; - let Arg0Type = Imm5.Value; - let Arg1Type = Imm5.Value; - let Arg2Type = Imm2.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = BO; let Inst{11-15} = BI; let Inst{16-18} = 0; @@ -435,10 +311,6 @@ class XLForm_2_ext opcode, bits<10> xo, bits<5> bo, bits<5> bi, bit lk, bit ppc64, bit vmx, dag OL, string asmstr> : XLForm_2 { - let ArgCount = 0; - let Arg0Type = 0; - let Arg1Type = 0; - let Arg2Type = 0; let BO = bo; let BI = bi; let BH = 0; @@ -450,13 +322,6 @@ class XFXForm_1 opcode, bits<10> xo, bit ppc64, bit vmx, bits<5> ST; bits<10> SPR; - let ArgCount = 2; - let Arg0Type = Imm5.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = 0; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = ST; let Inst{11-20} = SPR; let Inst{21-30} = xo; @@ -466,9 +331,6 @@ class XFXForm_1 opcode, bits<10> xo, bit ppc64, bit vmx, class XFXForm_1_ext opcode, bits<10> xo, bits<10> spr, bit ppc64, bit vmx, dag OL, string asmstr> : XFXForm_1 { - let ArgCount = 1; - let Arg0Type = Gpr.Value; - let Arg1Type = 0; let SPR = spr; } @@ -479,9 +341,6 @@ class XFXForm_7 opcode, bits<10> xo, bit ppc64, bit vmx, class XFXForm_7_ext opcode, bits<10> xo, bits<10> spr, bit ppc64, bit vmx, dag OL, string asmstr> : XFXForm_7 { - let ArgCount = 1; - let Arg0Type = Gpr.Value; - let Arg1Type = 0; let SPR = spr; } @@ -492,13 +351,6 @@ class XSForm_1 opcode, bits<9> xo, bit rc, bit ppc64, bit vmx, bits<5> A; bits<6> SH; - let ArgCount = 3; - let Arg0Type = Gpr.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Imm6.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = RS; let Inst{11-15} = A; let Inst{16-20} = SH{1-5}; @@ -514,13 +366,6 @@ class XOForm_1 opcode, bits<9> xo, bit oe, bit rc, bit ppc64, bit vmx, bits<5> RA; bits<5> RB; - let ArgCount = 3; - let Arg0Type = Gpr.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = 0; - let Arg4Type = 0; - let Inst{6-10} = RT; let Inst{11-15} = RA; let Inst{16-20} = RB; @@ -539,25 +384,17 @@ class XOForm_1r opcode, bits<9> xo, bit oe, bit rc, bit ppc64, bit vmx, class XOForm_3 opcode, bits<9> xo, bit oe, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : XOForm_1 { - let ArgCount = 2; let RB = 0; } // 1.7.12 A-Form class AForm_1 opcode, bits<5> xo, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : I { - let ArgCount = 4; bits<5> FRT; bits<5> FRA; bits<5> FRB; bits<5> FRC; - let Arg0Type = Fpr.Value; - let Arg1Type = Fpr.Value; - let Arg2Type = Fpr.Value; - let Arg3Type = Fpr.Value; - let Arg4Type = 0; - let Inst{6-10} = FRT; let Inst{11-15} = FRA; let Inst{16-20} = FRB; @@ -569,35 +406,24 @@ class AForm_1 opcode, bits<5> xo, bit rc, bit ppc64, bit vmx, class AForm_2 opcode, bits<5> xo, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : AForm_1 { - let ArgCount = 3; - let Arg3Type = 0; let FRC = 0; } class AForm_3 opcode, bits<5> xo, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : AForm_1 { - let ArgCount = 3; - let Arg3Type = 0; let FRB = 0; } // 1.7.13 M-Form class MForm_1 opcode, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : I { - let ArgCount = 5; bits<5> RA; bits<5> RS; bits<5> RB; bits<5> MB; bits<5> ME; - let Arg0Type = Gpr.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Gpr.Value; - let Arg3Type = Imm5.Value; - let Arg4Type = Imm5.Value; - let Inst{6-10} = RS; let Inst{11-15} = RA; let Inst{16-20} = RB; @@ -609,24 +435,16 @@ class MForm_1 opcode, bit rc, bit ppc64, bit vmx, class MForm_2 opcode, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : MForm_1 { - let Arg2Type = Imm5.Value; } // 1.7.14 MD-Form class MDForm_1 opcode, bits<3> xo, bit rc, bit ppc64, bit vmx, dag OL, string asmstr> : I { - let ArgCount = 4; bits<5> RS; bits<5> RA; bits<6> SH; bits<6> MBE; - let Arg0Type = Gpr.Value; - let Arg1Type = Gpr.Value; - let Arg2Type = Imm6.Value; - let Arg3Type = Imm6.Value; - let Arg4Type = 0; - let Inst{6-10} = RS; let Inst{11-15} = RA; let Inst{16-20} = SH{1-5}; @@ -639,15 +457,8 @@ class MDForm_1 opcode, bits<3> xo, bit rc, bit ppc64, bit vmx, //===----------------------------------------------------------------------===// class Pseudo : I<0, 0, 0, OL, asmstr> { - let ArgCount = 0; let PPC64 = 0; let VMX = 0; - let Arg0Type = Pseudo.Value; - let Arg1Type = Pseudo.Value; - let Arg2Type = Pseudo.Value; - let Arg3Type = Pseudo.Value; - let Arg4Type = 0; - let Inst{31-0} = 0; }