This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: AM33: SP-based offsets are zero-extended


On Apr  1, 2000, Jeffrey A Law <law@cygnus.com> wrote:

>> * m10300-opc.c: SP-based offsets are always unsigned.

> This is fine.  Can you please install a regression test into the assembler
> for this bug?

Here's the patch to catch this error in the testsuite.  Ok to install?

Index: gas/testsuite/ChangeLog
from  Alexandre Oliva  <aoliva@cygnus.com>
	
	* gas/mn10300/am33_5.s: Check that negative SP offsets are encoded
	with 32 bits, not with the unsigned shorter opcodes.
	* gas/mn10300/basic.exp: Likewise.
	
Index: gas/testsuite/gas/mn10300/am33_5.s
===================================================================
RCS file: /cvs/cvsfiles/devo/gas/testsuite/gas/mn10300/am33_5.s,v
retrieving revision 1.4
diff -u -r1.4 am33_5.s
--- gas/testsuite/gas/mn10300/am33_5.s	1998/07/23 15:23:16	1.4
+++ gas/testsuite/gas/mn10300/am33_5.s	2000/04/01 21:55:01
@@ -51,3 +51,15 @@
 	mov r1,(r2+,0x7ffefdfc)
 	movhu (r1+,0x7ffefdfc),r2
 	movhu r1,(r2+,0x7ffefdfc)
+	mov (-16,sp),r2
+	mov r2,(-16,sp)
+	movbu (-16,sp),r2
+	movbu r2,(-16,sp)
+	movhu (-16,sp),r2
+	movhu r2,(-16,sp)
+	mov (-1024,sp),r2
+	mov r2,(-1024,sp)
+	movbu (-1024,sp),r2
+	movbu r2,(-1024,sp)
+	movhu (-1024,sp),r2
+	movhu r2,(-1024,sp)
Index: gas/testsuite/gas/mn10300/basic.exp
===================================================================
RCS file: /cvs/cvsfiles/devo/gas/testsuite/gas/mn10300/basic.exp,v
retrieving revision 1.25
diff -u -r1.25 basic.exp
--- gas/testsuite/gas/mn10300/basic.exp	2000/03/31 19:15:31	1.25
+++ gas/testsuite/gas/mn10300/basic.exp	2000/04/01 21:55:01
@@ -1418,6 +1418,30 @@
 	    -re "^ +52 +FDFE7F\[^\n\]*\n"		{ set x [expr $x+1] }
 	    -re "^ +\[0-9\]+ 0158 FEFA12FC\[^\n\]*\n"	{ set x [expr $x+1] }
 	    -re "^ +53 +FDFE7F\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 015f FE8A20F0\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +54 +FFFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 0166 FE9A20F0\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +55 +FFFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 016d FEAA20F0\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +56 +FFFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 0174 FEBA20F0\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +57 +FFFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 017b FECA20F0\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +58 +FFFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 0182 FEDA20F0\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +59 +FFFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 0189 FE8A2000\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +60 +FCFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 0190 FE9A2000\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +61 +FCFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 0197 FEAA2000\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +62 +FCFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 019e FEBA2000\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +63 +FCFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 01a5 FECA2000\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +64 +FCFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
+	    -re "^ +\[0-9\]+ 01ac FEDA2000\[^\n\]*\n"	{ set x [expr $x+1] }
+	    -re "^ +65 +FCFFFF\[^\n\]*\n"		{ set x [expr $x+1] }
 	    -re "\[^\n\]*\n"				{ }
 	    timeout				{ perror "timeout\n"; break }
 	    eof					{ break }
@@ -1429,7 +1453,7 @@
     gas_finish
 
     # Did we find what we were looking for?  If not, flunk it.
-    if [expr $x==100] then { pass $testname } else { fail $testname }
+    if [expr $x==124] then { pass $testname } else { fail $testname }
 }
 
 proc do_am33_6 {} {

-- 
Alexandre Oliva    Enjoy Guaranį, see http://www.ic.unicamp.br/~oliva/
Cygnus Solutions, a Red Hat company        aoliva@{redhat, cygnus}.com
Free Software Developer and Evangelist    CS PhD student at IC-Unicamp
oliva@{lsd.ic.unicamp.br, gnu.org}   Write to mailing lists, not to me

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]