include/elf/
[deliverable/binutils-gdb.git] / gas / testsuite / gas / mips / mips.exp
index 8e2e4e6e11fec55470af90038ea1da3094a65f3b..16edfb73a9bab35a91413e3195c35025ce06e9cd 100644 (file)
@@ -292,27 +292,6 @@ proc run_dump_test_arches { name arch_list } {
     }
 }
 
-# run_list_test NAME OPTS (optional): TESTNAME
-#
-# Assemble the file "NAME.d" and compare the assembler standard error
-# output against the regular expressions given in the file "NAME.l".
-# The assembler is passed the flags given in OPTS.  If TESTNAME is
-# provided, it will be used as the name of the test.
-proc run_list_test { name opts {testname {}} } {
-    global srcdir subdir
-    if { [string length $testname] == 0 } then {
-           set testname "MIPS $name"
-    }
-    set file $srcdir/$subdir/$name
-    gas_run ${name}.s $opts ">&dump.out"
-    if { [regexp_diff "dump.out" "${file}.l"] } then {
-       fail $testname
-       verbose "output is [file_contents "dump.out"]" 2
-       return
-    }
-    pass $testname
-}
-
 # run_list_test_arch NAME OPTS ARCH
 #
 # Invoke "run_list_test" for test NAME with options OPTS, with extra
@@ -382,6 +361,9 @@ mips_arch_create vr5400     64      mips4   { ror } \
 mips_arch_create sb1   64      mips64  { mips3d } \
                        { -march=sb1 -mtune=sb1 } { -mmips:sb1 } \
                        { mipsisa64sb1-*-* mipsisa64sb1el-*-* }
+mips_arch_create octeon 64     mips64r2 {} \
+                       { -march=octeon -mtune=octeon } { -mmips:octeon } \
+                       { mips64octeon*-*-* }
 
 #
 # And now begin the actual tests!  VxWorks uses RELA rather than REL
@@ -493,6 +475,9 @@ if { [istarget mips*-*-vxworks*] } {
     if $elf { run_dump_test "lif-svr4pic" }
     if $elf { run_dump_test "lif-xgot" }
     run_dump_test_arches "mips4"       [mips_arch_list_matching mips4]
+    run_dump_test_arches "mips4-fp"    [mips_arch_list_matching mips4]
+    run_list_test_arches "mips4-fp" "-32 -msoft-float" \
+                                       [mips_arch_list_matching mips4]
     run_dump_test_arches "mips5"       [mips_arch_list_matching mips5]
     if $ilocks {
        run_dump_test "mul-ilocks"
@@ -543,6 +528,7 @@ if { [istarget mips*-*-vxworks*] } {
        if $has_newabi {
            run_dump_test "mips16-hilo-n32"
        }
+       run_dump_test "mips16-hilo-match"
     }
     run_list_test "mips-no-jalx" "-32"
     run_dump_test "delay"
@@ -564,14 +550,28 @@ if { [istarget mips*-*-vxworks*] } {
     run_dump_test_arches "mips32"      [mips_arch_list_matching mips32]
 
     run_dump_test_arches "mips32-sf32" [mips_arch_list_matching mips32]
+    run_list_test_arches "mips32-sf32" "-32 -msoft-float" \
+                                       [mips_arch_list_matching mips32]
+    run_dump_test_arches "mips32-cp2"  [mips_arch_list_matching mips32 \
+                                           !octeon]
 
     run_dump_test_arches "mips32r2"    [mips_arch_list_matching mips32r2]
+    run_dump_test_arches "mips32r2-cp2"        [mips_arch_list_matching mips32r2 \
+                                           !octeon]
+    run_dump_test_arches "mips32r2-fp32" \
+                                       [mips_arch_list_matching mips32r2]
+    run_list_test_arches "mips32r2-fp32" "-32 -msoft-float" \
+                                       [mips_arch_list_matching mips32r2]
     run_list_test_arches "mips32r2-ill" "-32" \
-                        [mips_arch_list_matching mips32r2 gpr32]
+                       [mips_arch_list_matching mips32r2 gpr32]
     run_list_test_arches "mips32r2-ill-fp64" "-mabi=o64" \
-                        [mips_arch_list_matching mips32r2 gpr64]
+                       [mips_arch_list_matching mips32r2 gpr64]
+    run_list_test_arches "mips32r2-ill-nofp" "-32 -msoft-float" \
+                       [mips_arch_list_matching mips32r2]
 
     run_dump_test_arches "mips64"      [mips_arch_list_matching mips64]
+    run_dump_test_arches "mips64-cp2"  [mips_arch_list_matching mips64 \
+                                           !octeon]
 
     run_dump_test_arches "mips64r2"    [mips_arch_list_matching mips64r2]
     run_list_test_arches "mips64r2-ill" "" [mips_arch_list_matching mips64r2]
@@ -594,6 +594,7 @@ if { [istarget mips*-*-vxworks*] } {
 
     run_list_test "illegal" "-32"
     run_list_test "baddata1" "-32"
+    run_list_test "jalr" ""
 
     # LOSE: As of 2002-02-08, the next 4 tests fail for target mips-ecoff.
     # It's unknown whether they _should_ pass as-is, or whether different
@@ -687,6 +688,7 @@ if { [istarget mips*-*-vxworks*] } {
 
        run_dump_test "elf-rel25"
        run_dump_test "elf-rel25a"
+       run_dump_test "elf-rel26"
 
        if { !$no_mips16 } {
            run_dump_test "${tmips}mips${el}16-e"
@@ -716,6 +718,11 @@ if { [istarget mips*-*-vxworks*] } {
     run_dump_test "fpr-names-64"
 
     run_dump_test "cp0-names-numeric"
+    run_dump_test "cp0-names-r3000"
+    run_dump_test "cp0-names-r4000" \
+                 { { {name} {(r4000)} } { {objdump} {-M cp0-names=r4000} } }
+    run_dump_test "cp0-names-r4000" \
+                 { { {name} {(r4400)} } { {objdump} {-M cp0-names=r4400} } }
     run_dump_test "cp0-names-mips32"
     run_dump_test "cp0-names-mips32r2"
     run_dump_test "cp0-names-mips64"
@@ -769,10 +776,21 @@ if { [istarget mips*-*-vxworks*] } {
     run_list_test "noat-6" ""
     run_list_test "noat-7" ""
 
-    run_dump_test_arches "smartmips"   [mips_arch_list_matching mips32 !gpr64]
-    run_dump_test_arches "mips32-dsp"  [mips_arch_list_matching mips32r2]
-    run_dump_test_arches "mips64-dsp"  [mips_arch_list_matching mips64r2]
-    run_dump_test_arches "mips32-mt"   [mips_arch_list_matching mips32r2 !gpr64]
+    run_dump_test "at-1"
+    run_list_test "at-2" "-32 -mips1" "MIPS at-2"
+
+    run_dump_test "loongson-2e"
+    run_dump_test "loongson-2f"
+
+    run_dump_test_arches "octeon"      [mips_arch_list_matching octeon]
+    run_list_test_arches "octeon-ill" "" \
+                                       [mips_arch_list_matching octeon]
+
+    run_dump_test "smartmips"
+    run_dump_test "mips32-dsp"
+    run_dump_test "mips32-dspr2"
+    run_dump_test "mips64-dsp"
+    run_dump_test "mips32-mt"
 
     if { $elf && !$no_mips16 } {
        run_dump_test "mips16-dwarf2"
@@ -785,6 +803,7 @@ if { [istarget mips*-*-vxworks*] } {
         run_dump_test "mips16e-save"
         run_dump_test "mips16e-64"
         run_list_test "mips16e-64" "-march=mips32 -32"
+        run_dump_test "mips16-intermix"
     }
     run_dump_test "vxworks1"
     run_dump_test "vxworks1-xgot"
@@ -792,4 +811,22 @@ if { [istarget mips*-*-vxworks*] } {
     run_dump_test "vxworks1-xgot-el"
 
     run_dump_test "noreorder"
+    run_dump_test "align"
+    run_dump_test "align2"
+    run_dump_test "align2-el"
+    run_dump_test "odd-float"
+
+    run_list_test_arches "mips-macro-ill-sfp" "-32 -msingle-float" \
+                                       [mips_arch_list_matching mips2]
+    run_list_test_arches "mips-macro-ill-nofp" "-32 -msoft-float" \
+                                       [mips_arch_list_matching mips2]
+
+    run_list_test_arches "mips-hard-float-flag" \
+       "-32 -msoft-float -mhard-float" \
+                                       [mips_arch_list_matching mips1]
+    run_list_test_arches "mips-double-float-flag" \
+       "-32 -msingle-float -mdouble-float" \
+                                       [mips_arch_list_matching mips1]
+
+    run_dump_test "mips16-vis-1"
 }
This page took 0.026106 seconds and 4 git commands to generate.