[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: extrwi mnemonic conversion bounding error?
From: |
Alan Modra |
Subject: |
Re: extrwi mnemonic conversion bounding error? |
Date: |
Wed, 8 Jan 2003 12:17:03 +1030 |
User-agent: |
Mutt/1.4i |
On Tue, Jan 07, 2003 at 01:44:19PM -0500, Jason Sullivan wrote:
> Gas refuses to assemble the following statement, citing a bounding error...
>
> extrwi G1,G2,6,26
Fixed like this.
opcodes/ChangeLog
* ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.
Index: opcodes/ppc-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/ppc-opc.c,v
retrieving revision 1.46
diff -u -p -r1.46 ppc-opc.c
--- opcodes/ppc-opc.c 5 Dec 2002 23:48:23 -0000 1.46
+++ opcodes/ppc-opc.c 8 Jan 2003 01:34:57 -0000
@@ -4552,8 +4552,8 @@ const struct powerpc_macro powerpc_macro
{ "extlwi", 4, PPCCOM, "rlwinm %0,%1,%3,0,(%2)-1" },
{ "extlwi.", 4, PPCCOM, "rlwinm. %0,%1,%3,0,(%2)-1" },
-{ "extrwi", 4, PPCCOM, "rlwinm %0,%1,(%2)+(%3),32-(%2),31" },
-{ "extrwi.", 4, PPCCOM, "rlwinm. %0,%1,(%2)+(%3),32-(%2),31" },
+{ "extrwi", 4, PPCCOM, "rlwinm
%0,%1,((%2)+(%3))&((%2)+(%3)<>32),32-(%2),31" },
+{ "extrwi.", 4, PPCCOM, "rlwinm.
%0,%1,((%2)+(%3))&((%2)+(%3)<>32),32-(%2),31" },
{ "inslwi", 4, PPCCOM, "rlwimi
%0,%1,(-(%3)!31)&((%3)|31),%3,(%2)+(%3)-1" },
{ "inslwi.", 4, PPCCOM, "rlwimi.
%0,%1,(-(%3)!31)&((%3)|31),%3,(%2)+(%3)-1"},
{ "insrwi", 4, PPCCOM, "rlwimi %0,%1,32-((%2)+(%3)),%3,(%2)+(%3)-1" },
--
Alan Modra
IBM OzLabs - Linux Technology Centre