* gas/mn10300/mov5.s: New.
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 16 Jan 2004 03:16:07 +0000 (03:16 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Fri, 16 Jan 2004 03:16:07 +0000 (03:16 +0000)
* gas/mn10300/basic.exp (do_mov5): New.

gas/testsuite/ChangeLog
gas/testsuite/gas/mn10300/basic.exp
gas/testsuite/gas/mn10300/mov5.s [new file with mode: 0644]

index 69a9de372a9df51c177a171f2948e1f90f7eaa22..c98cba999726f524b224c5bf17b80153028a32b2 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-16  Alexandre Oliva  <aoliva@redhat.com>
+
+       * gas/mn10300/mov5.s: New.
+       * gas/mn10300/basic.exp (do_mov5): New.
+
 2004-01-14  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
 
        * gas/mips/relax-swap1-mips1.d: New test for branch relaxation
index 519cb92df877eb991ae07115b678aa0bfeeb7904..46c23d480f964f7b9a72669f5ce6c7387a01ca84 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 2000, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -499,6 +499,40 @@ proc do_mov4 {} {
     if [expr $x==16] then { pass $testname } else { fail $testname }
 }
 
+proc do_mov5 {} {
+    set testname "mov5.s: mov5 tests"
+    set x 0
+
+    gas_start "mov5.s" "-al"
+
+    # Instead of having a variable for each match string just increment the
+    # total number of matches seen.  That's simpler when testing large numbers
+    # of instructions (as these tests to).
+    while 1 {
+       expect {
+           -re "^ +\[0-9\]+ 0000 FBF80008\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0004 FDF80000\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +4 +0100\[^\n\]*\n"                  { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 000a FDF800FF\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +5 +FF7F\[^\n\]*\n"                  { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0010 FEF80080\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +6 +FFFFFF\[^\n\]*\n"                { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0017 FEF80000\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +7 +0080FF\[^\n\]*\n"                { set x [expr $x+1] }
+           -re "\[^\n\]*\n"                            { }
+           timeout                             { perror "timeout\n"; break }
+           eof                                 { break }
+       }
+    }
+
+    # This was intended to do any cleanup necessary.  It kinda looks like it
+    # isn't needed, but just in case, please keep it in for now.
+    gas_finish
+
+    # Did we find what we were looking for?  If not, flunk it.
+    if [expr $x==9] then { pass $testname } else { fail $testname }
+}
+
 proc do_movbu {} {
     set testname "movbu.s: movbu tests"
     set x 0
@@ -1762,6 +1796,7 @@ if [istarget mn10300*-*-*] then {
     do_mov2
     do_mov3
     do_mov4
+    do_mov5
     do_movbu
     do_movhu
     do_movm
diff --git a/gas/testsuite/gas/mn10300/mov5.s b/gas/testsuite/gas/mn10300/mov5.s
new file mode 100644 (file)
index 0000000..c3551ff
--- /dev/null
@@ -0,0 +1,7 @@
+       .am33
+       .text
+       mov 8,sp
+       mov 256,sp
+       mov +((1<<23)-1),sp
+       mov -128,sp
+       mov +((-1)<<23),sp