}
}
-# 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
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
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"
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"
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]
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
}
run_dump_test "elf-rel7"
run_dump_test "elf-rel8"
+ run_dump_test "elf-rel8-mips16"
run_dump_test "elf-rel9"
+ run_dump_test "elf-rel9-mips16"
if $has_newabi {
run_dump_test "elf-rel10"
run_dump_test "elf-rel11"
}
run_dump_test "elf-rel12"
run_dump_test "elf-rel13"
+ run_dump_test "elf-rel13-mips16"
run_dump_test "elf-rel14"
if $has_newabi {
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"
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"
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"
}