From bd7780bc6004e8545042e0aaf7d0d98082baf422 Mon Sep 17 00:00:00 2001 From: Misha Brukman <brukman+llvm@gmail.com> Date: Sat, 23 Oct 2004 06:08:38 +0000 Subject: DForm_1, particularly used by store instructions, needs the immediate operand to be listed second as that is how the instructions are usually created (and is the correct asm syntax) so that it's assembled correctly from its constituents git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17183 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCInstrFormats.td | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td index b4f868f..880bcce 100644 --- a/lib/Target/PowerPC/PPCInstrFormats.td +++ b/lib/Target/PowerPC/PPCInstrFormats.td @@ -131,9 +131,21 @@ class DForm_base<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr> } class DForm_1<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr> - : DForm_base<opcode, ppc64, vmx, OL, asmstr> { + : I<opcode, ppc64, vmx, OL, asmstr> { + bits<5> A; + 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; } class DForm_2<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr> -- cgit v1.1