From bd7780bc6004e8545042e0aaf7d0d98082baf422 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Sat, 23 Oct 2004 06:08:38 +0000 Subject: [PATCH] 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(-) diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td index b4f868fb39e..880bcce95b9 100644 --- a/lib/Target/PowerPC/PPCInstrFormats.td +++ b/lib/Target/PowerPC/PPCInstrFormats.td @@ -131,9 +131,21 @@ class DForm_base opcode, bit ppc64, bit vmx, dag OL, string asmstr> } class DForm_1 opcode, bit ppc64, bit vmx, dag OL, string asmstr> - : DForm_base { + : I { + 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 opcode, bit ppc64, bit vmx, dag OL, string asmstr>