* gas/v850/hilo2.s: New test.
authorJeff Law <law@redhat.com>
Tue, 29 Jul 1997 20:31:41 +0000 (20:31 +0000)
committerJeff Law <law@redhat.com>
Tue, 29 Jul 1997 20:31:41 +0000 (20:31 +0000)
        * gas/v850/fepsw.s: New test.
        * gas/v850/basic.exp: Run them.

gas/testsuite/ChangeLog
gas/testsuite/gas/v850/.Sanitize
gas/testsuite/gas/v850/basic.exp
gas/testsuite/gas/v850/fepsw.s [new file with mode: 0644]
gas/testsuite/gas/v850/hilo2.s [new file with mode: 0644]

index 77198d6e318cd7b24b4fb66a73dbe3a7f719ef50..e2cadbb101a4e3e70d93bee7b2f6a04db5889bfd 100644 (file)
@@ -1,3 +1,11 @@
+start-sanitize-v850
+Tue Jul 29 14:35:02 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * gas/v850/hilo2.s: New test.
+       * gas/v850/fepsw.s: New test.
+       * gas/v850/basic.exp: Run them.
+
+end-sanitize-v850
 Tue Jul 15 13:03:17 1997  Doug Evans  <dje@canuck.cygnus.com>
 
        * gas/m32r/uppercase.[sd]: New testcase.
index 17b7e661db42c35ce715f79b580c762fdbf6dfe8..201aa7aebad866cf54fadbde3f8d89b8528ea0d8 100644 (file)
@@ -30,7 +30,9 @@ basic.exp
 bit.s
 branch.s
 compare.s
+fepsw.s
 hilo.s
+hilo2.s
 jumps.s
 logical.s
 mem.s
index c43bc1621b89864f60a318361ef58dfd11d1fbc9..be7293da6b8dee0353ef1ad7dd78a60e1d3085a1 100755 (executable)
@@ -262,14 +262,14 @@ proc do_mem {} {
            -re "^ +\[0-9\]+ 0004 25370400\[^\n\]*\n"   { set x [expr $x+1] }
            -re "^ +\[0-9\]+ 0008 25370500\[^\n\]*\n"   { set x [expr $x+1] }
            -re "^ +\[0-9\]+ 000c 4033\[^\n\]*\n"       { set x [expr $x+1] }
-           -re "^ +\[0-9\]+ 000e\[^\n\]*\n"    { set x [expr $x+1] }
-           -re "^ +\[0-9\]+ 0010\[^\n\]*\n"    { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 000e 4034\[^\n\]*\n"       { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0010 4035\[^\n\]*\n"       { set x [expr $x+1] }
            -re "^ +\[0-9\]+ 0012 462F0500\[^\n\]*\n"   { set x [expr $x+1] }
            -re "^ +\[0-9\]+ 0016 662F0400\[^\n\]*\n"   { set x [expr $x+1] }
            -re "^ +\[0-9\]+ 001a 662F0500\[^\n\]*\n"   { set x [expr $x+1] }
-           -re "^ +\[0-9\]+ 001e\[^\n\]*\n"    { set x [expr $x+1] }
-           -re "^ +\[0-9\]+ 0020\[^\n\]*\n"    { set x [expr $x+1] }
-           -re "^ +\[0-9\]+ 0022\[^\n\]*\n"    { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 001e C033\[^\n\]*\n"       { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0020 C034\[^\n\]*\n"       { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0022 4135\[^\n\]*\n"       { set x [expr $x+1] }
            -re "\[^\n\]*\n"                            { }
            timeout                             { perror "timeout\n"; break }
            eof                                 { break }
@@ -282,12 +282,6 @@ proc do_mem {} {
 
     # Did we find what we were looking for?  If not, flunk it.
     if [expr $x==12] then { pass $testname } else { fail $testname }
-
-    setup_xfail v850*-*-*
-    fail "sld and sst instructions improperly assembled."
-
-    setup_xfail v850*-*-*
-    fail "sld and sst instructions did not catch improper index assembled."
 }
 
 proc do_misc {} {
@@ -381,6 +375,43 @@ proc do_hilo {} {
     if [expr $x==3] then { pass $testname } else { fail $testname }
 }
 
+
+proc do_simple_reloc_tests {} {
+    set testname "reloc.s: Test for proper relocations (part 2)"
+    set x 0
+
+    if [gas_test_old "reloc.s" "" "Test for proper relocation (part 1)"] then {
+       objdump_start_no_subdir "a.out" "-r"
+
+       while 1 {
+           expect {
+               -re "^00000002\[^\n\]*R_V850_LO16\[^\n\]*\n"
+                       { set x [expr $x+1] }
+               -re "^00000006\[^\n\]*R_V850_HI16_S\[^\n\]*\n"
+                       { set x [expr $x+1] }
+               -re "^0000000a\[^\n\]*R_V850_HI16\[^\n\]*\n"
+                       { set x [expr $x+1] }
+               -re "^0000000e\[^\n\]*R_V850_ZDA_OFFSET\[^\n\]*\n"
+                       { set x [expr $x+1] }
+               -re "^00000012\[^\n\]*R_V850_TDA_OFFSET\[^\n\]*\n"
+                       { set x [expr $x+1] }
+               -re "^00000016\[^\n\]*R_V850_SDA_OFFSET\[^\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.
+    objdump_finish
+
+    # Did we find what we were looking for?  If not, flunk it.
+    if [expr $x==6] then { pass $testname } else { fail $testname }
+}
+
 if [istarget v850*-*-*] then {
     # Test the basic instruction parser.
     do_arith
@@ -395,4 +426,11 @@ if [istarget v850*-*-*] then {
 
     # Make sure we handle lo() hi() and hi0() correctly.
     do_hilo
+
+    # Check for proper relocs on lo, hi, hi0, zdaoff, tdaoff and sdaoff
+    # expressions
+    do_simple_reloc_tests
+
+    gas_test "hilo2.s" "" "" "hi/lo regression test"
+    gas_test "fepsw.s" "" "" "eqsw regression test"
 }
diff --git a/gas/testsuite/gas/v850/fepsw.s b/gas/testsuite/gas/v850/fepsw.s
new file mode 100644 (file)
index 0000000..e20333c
--- /dev/null
@@ -0,0 +1,2 @@
+       .text
+       ldsr r17,fepsw
diff --git a/gas/testsuite/gas/v850/hilo2.s b/gas/testsuite/gas/v850/hilo2.s
new file mode 100644 (file)
index 0000000..4a8249f
--- /dev/null
@@ -0,0 +1,4 @@
+       .text
+       .org 0x10000
+       movea hi(blah),r0,r0
+blah: