diff options
author | Nate Begeman <natebegeman@mac.com> | 2004-08-29 22:45:13 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2004-08-29 22:45:13 +0000 |
commit | 6b3dc55ef84946935bda6964352fb6e44a60721c (patch) | |
tree | 4496b443ca49b71c7810a0888771bdd499cbf6a8 /lib/Target/PowerPC/PPCInstrFormats.td | |
parent | 27bc7c6cae8fde58cb53d26ba73d239094ed8818 (diff) | |
download | external_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.td | 25 |
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> { |