This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: AM33: SP-based offsets are zero-extended
- To: law at cygnus dot com
- Subject: Re: AM33: SP-based offsets are zero-extended
- From: Alexandre Oliva <aoliva at cygnus dot com>
- Date: 01 Apr 2000 19:01:38 -0300
- Cc: Alexandre Oliva <aoliva at cygnus dot com>, binutils at sourceware dot cygnus dot com
- Organization: Cygnus Solutions, a Red Hat Company
- References: <16123.954599108@upchuck>
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