Remove argtype and argcount magic, which was used by the old asmprinter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18170 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-11-23 20:41:34 +00:00
parent 583e32b653
commit d162032013

View File

@ -46,12 +46,6 @@ class I<bits<6> 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<bits<6> opcode, bit aa, bit lk, bit ppc64, bit vmx,
dag OL, string asmstr> : I<opcode, ppc64, vmx, OL, asmstr> {
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<bits<6> 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<bits<6> opcode, bit aa, bit lk, bit ppc64, bit vmx,
class BForm_ext<bits<6> opcode, bit aa, bit lk, bits<5> bo, bits<5> bi,
bit ppc64, bit vmx, dag OL, string asmstr>
: BForm<opcode, aa, lk, ppc64, vmx, OL, asmstr> {
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<bits<6> 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<bits<6> 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<bits<6> 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<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
class DForm_4_zero<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
: DForm_1<opcode, ppc64, vmx, OL, asmstr> {
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<bits<6> 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<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
class DForm_5_ext<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
: DForm_5<opcode, ppc64, vmx, OL, asmstr> {
let L = ppc64;
let ArgCount = 3;
let Arg0Type = Imm3.Value;
let Arg1Type = Gpr.Value;
let Arg2Type = Simm16.Value;
let Arg3Type = 0;
}
class DForm_6<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
@ -223,21 +162,14 @@ class DForm_6<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
class DForm_6_ext<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
: DForm_6<opcode, ppc64, vmx, OL, asmstr> {
let L = ppc64;
let ArgCount = 3;
let Arg0Type = Imm3.Value;
let Arg1Type = Gpr.Value;
let Arg2Type = Simm16.Value;
let Arg3Type = 0;
}
class DForm_8<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
: DForm_1<opcode, ppc64, vmx, OL, asmstr> {
let Arg0Type = Fpr.Value;
}
class DForm_9<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
: DForm_1<opcode, ppc64, vmx, OL, asmstr> {
let Arg0Type = Fpr.Value;
}
// 1.7.5 DS-Form
@ -247,13 +179,6 @@ class DSForm_1<bits<6> 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<bits<6> 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<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XForm_5<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, 0, ppc64, vmx, OL, asmstr> {
let ArgCount = 1;
let Arg1Type = 0;
let Arg2Type = 0;
let A = 0;
let B = 0;
}
@ -312,14 +227,11 @@ class XForm_8<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XForm_10<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, rc, ppc64, vmx, OL, asmstr> {
let Arg2Type = Imm5.Value;
}
class XForm_11<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, rc, ppc64, vmx, OL, asmstr> {
let ArgCount = 2;
let Arg2Type = 0;
let B = 0;
}
@ -330,13 +242,6 @@ class XForm_16<bits<6> 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<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XForm_16_ext<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_16<opcode, xo, ppc64, vmx, OL, asmstr> {
let ArgCount = 3;
let Arg1Type = Gpr.Value;
let Arg2Type = Gpr.Value;
let Arg3Type = 0;
let L = ppc64;
}
@ -362,13 +263,6 @@ class XForm_17<bits<6> 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<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XForm_25<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, 0, ppc64, vmx, OL, asmstr> {
let Arg0Type = Fpr.Value;
let Arg1Type = Gpr0.Value;
}
class XForm_26<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, rc, ppc64, vmx, OL, asmstr> {
let ArgCount = 2;
let Arg0Type = Fpr.Value;
let Arg1Type = Fpr.Value;
let Arg2Type = 0;
let A = 0;
}
class XForm_28<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, 0, ppc64, vmx, OL, asmstr> {
let Arg0Type = Fpr.Value;
let Arg1Type = Gpr0.Value;
}
// 1.7.7 XL-Form
class XLForm_1<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, 0, ppc64, vmx, OL, asmstr> {
let Arg0Type = Imm5.Value;
let Arg1Type = Imm5.Value;
let Arg2Type = Imm5.Value;
}
class XLForm_2<bits<6> opcode, bits<10> xo, bit lk, bit ppc64, bit vmx,
@ -416,13 +299,6 @@ class XLForm_2<bits<6> 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<bits<6> opcode, bits<10> xo, bits<5> bo,
bits<5> bi, bit lk, bit ppc64, bit vmx,
dag OL, string asmstr>
: XLForm_2<opcode, xo, lk, ppc64, vmx, OL, asmstr> {
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<bits<6> 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<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XFXForm_1_ext<bits<6> opcode, bits<10> xo, bits<10> spr, bit ppc64,
bit vmx, dag OL, string asmstr>
: XFXForm_1<opcode, xo, ppc64, vmx, OL, asmstr> {
let ArgCount = 1;
let Arg0Type = Gpr.Value;
let Arg1Type = 0;
let SPR = spr;
}
@ -479,9 +341,6 @@ class XFXForm_7<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XFXForm_7_ext<bits<6> opcode, bits<10> xo, bits<10> spr,
bit ppc64, bit vmx, dag OL, string asmstr>
: XFXForm_7<opcode, xo, ppc64, vmx, OL, asmstr> {
let ArgCount = 1;
let Arg0Type = Gpr.Value;
let Arg1Type = 0;
let SPR = spr;
}
@ -492,13 +351,6 @@ class XSForm_1<bits<6> 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<bits<6> 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<bits<6> opcode, bits<9> xo, bit oe, bit rc, bit ppc64, bit vmx,
class XOForm_3<bits<6> opcode, bits<9> xo, bit oe, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr>
: XOForm_1<opcode, xo, oe, rc, ppc64, vmx, OL, asmstr> {
let ArgCount = 2;
let RB = 0;
}
// 1.7.12 A-Form
class AForm_1<bits<6> opcode, bits<5> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr> : I<opcode, ppc64, vmx, OL, asmstr> {
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<bits<6> opcode, bits<5> xo, bit rc, bit ppc64, bit vmx,
class AForm_2<bits<6> opcode, bits<5> xo, bit rc, bit ppc64, bit vmx, dag OL,
string asmstr>
: AForm_1<opcode, xo, rc, ppc64, vmx, OL, asmstr> {
let ArgCount = 3;
let Arg3Type = 0;
let FRC = 0;
}
class AForm_3<bits<6> opcode, bits<5> xo, bit rc, bit ppc64, bit vmx, dag OL,
string asmstr>
: AForm_1<opcode, xo, rc, ppc64, vmx, OL, asmstr> {
let ArgCount = 3;
let Arg3Type = 0;
let FRB = 0;
}
// 1.7.13 M-Form
class MForm_1<bits<6> opcode, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr> : I<opcode, ppc64, vmx, OL, asmstr> {
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<bits<6> opcode, bit rc, bit ppc64, bit vmx,
class MForm_2<bits<6> opcode, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr>
: MForm_1<opcode, rc, ppc64, vmx, OL, asmstr> {
let Arg2Type = Imm5.Value;
}
// 1.7.14 MD-Form
class MDForm_1<bits<6> opcode, bits<3> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr> : I<opcode, ppc64, vmx, OL, asmstr> {
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<bits<6> opcode, bits<3> xo, bit rc, bit ppc64, bit vmx,
//===----------------------------------------------------------------------===//
class Pseudo<dag OL, string asmstr> : 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;
}