aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PowerPC/PPCInstrFormats.td
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2004-08-29 22:45:13 +0000
committerNate Begeman <natebegeman@mac.com>2004-08-29 22:45:13 +0000
commit6b3dc55ef84946935bda6964352fb6e44a60721c (patch)
tree4496b443ca49b71c7810a0888771bdd499cbf6a8 /lib/Target/PowerPC/PPCInstrFormats.td
parent27bc7c6cae8fde58cb53d26ba73d239094ed8818 (diff)
downloadexternal_llvm-6b3dc55ef84946935bda6964352fb6e44a60721c.zip
external_llvm-6b3dc55ef84946935bda6964352fb6e44a60721c.tar.gz
external_llvm-6b3dc55ef84946935bda6964352fb6e44a60721c.tar.bz2
Convert A-Form instructions to auto-generated asm writer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16107 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrFormats.td')
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td25
1 files changed, 10 insertions, 15 deletions
diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td
index 4af8437..864b6ad 100644
--- a/lib/Target/PowerPC/PPCInstrFormats.td
+++ b/lib/Target/PowerPC/PPCInstrFormats.td
@@ -527,8 +527,8 @@ class XOForm_3<string name, bits<6> opcode, bits<9> xo, bit oe, bit rc,
}
// 1.7.12 A-Form
-class AForm_1<string name, bits<6> opcode, bits<5> xo, bit rc, bit ppc64,
- bit vmx> : I<name, opcode, ppc64, vmx> {
+class AForm_1<bits<6> opcode, bits<5> xo, bit rc, bit ppc64,
+ bit vmx, dag OL, string asmstr> : I<"", opcode, ppc64, vmx> {
let ArgCount = 4;
field bits<5> FRT;
field bits<5> FRA;
@@ -547,31 +547,26 @@ class AForm_1<string name, bits<6> opcode, bits<5> xo, bit rc, bit ppc64,
let Inst{21-25} = FRC;
let Inst{26-30} = xo;
let Inst{31} = rc;
+ let OperandList = OL;
+ let AsmString = asmstr;
}
-class AForm_2<string name, bits<6> opcode, bits<5> xo, bit rc, bit ppc64,
- bit vmx> : AForm_1<name, opcode, xo, rc, ppc64, 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<string name, bits<6> opcode, bits<5> xo, bit rc, bit ppc64,
- bit vmx> : AForm_1<name, opcode, xo, rc, ppc64, vmx> {
+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;
}
-class AForm_4<string name, bits<6> opcode, bits<5> xo, bit rc, bit ppc64,
- bit vmx> : AForm_1<name, opcode, xo, rc, ppc64, vmx> {
- let ArgCount = 2;
- let Arg2Type = 0;
- let Arg3Type = 0;
- let FRA = 0;
- let FRC = 0;
-}
-
// 1.7.13 M-Form
class MForm_1<string name, bits<6> opcode, bit rc, bit ppc64, bit vmx>
: I<name, opcode, ppc64, vmx> {