diff options
Diffstat (limited to 'gas/testsuite/gas/mips/mips.exp')
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp new file mode 100644 index 00000000000..1b5269d9636 --- /dev/null +++ b/gas/testsuite/gas/mips/mips.exp @@ -0,0 +1,102 @@ +# +# Some generic MIPS tests +# +if [istarget mips*-*-*] then { + set no_mips16 0 + set svr4pic [expr [istarget *-*-elf*] || [istarget *-*-irix5*] || [istarget *-*-irix6* ] ] + set empic [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ] + set aout [expr [istarget *-*-bsd*] || [istarget *-*-netbsd*] || [istarget *-*-openbsd*]] + set ilocks [istarget mipstx39*-*-*] + set gpr_ilocks [expr [istarget mipstx39*-*-*]] + set addr32 [expr [istarget mipstx39*-*-*]] + + + + + + run_dump_test "abs" + run_dump_test "add" + run_dump_test "and" + run_dump_test "break20" + run_dump_test "trap20" + run_dump_test "beq" + run_dump_test "bge" + run_dump_test "bgeu" + run_dump_test "blt" + run_dump_test "bltu" + if !$ilocks { run_dump_test "div" } else { run_dump_test "div-ilocks" } + run_dump_test "dli" + run_dump_test "jal" + if $svr4pic { run_dump_test "jal-svr4pic" } + if $svr4pic { run_dump_test "jal-xgot" } + if $empic { run_dump_test "jal-empic" } + if !$aout { run_dump_test "la" } + if $svr4pic { run_dump_test "la-svr4pic" } + if $svr4pic { run_dump_test "la-xgot" } + if $empic { run_dump_test "la-empic" } + if !$aout { run_dump_test "lb" } + if $svr4pic { run_dump_test "lb-svr4pic" } + if $svr4pic { + # Both versions specify the cpu, so we can run both regardless of + # the interlocking in the configured default cpu. + run_dump_test "lb-xgot" + run_dump_test "lb-xgot-ilocks" + } + if $empic { run_dump_test "lb-empic" } + if !$aout { + if !$gpr_ilocks { + run_dump_test "ld" + } else { + if !$addr32 { + run_dump_test "ld-ilocks" + } else { + run_dump_test "ld-ilocks-addr32" + } + } + } + if $svr4pic { run_dump_test "ld-svr4pic" } + if $svr4pic { run_dump_test "ld-xgot" } + if $empic { run_dump_test "ld-empic" } + run_dump_test "li" + if !$aout { run_dump_test "lifloat" } + if $svr4pic { run_dump_test "lif-svr4pic" } + if $svr4pic { run_dump_test "lif-xgot" } + if $empic { run_dump_test "lif-empic" } + run_dump_test "mips4" + if !$ilocks { run_dump_test "mul" } else { run_dump_test "mul-ilocks" } + run_dump_test "rol" + if !$aout { run_dump_test "sb" } + run_dump_test "trunc" + if !$aout { run_dump_test "ulh" } + if $svr4pic { run_dump_test "ulh-svr4pic" } + if $svr4pic { run_dump_test "ulh-xgot" } + if $empic { run_dump_test "ulh-empic" } + if !$aout { + run_dump_test "ulw" + run_dump_test "uld" + run_dump_test "ush" + run_dump_test "usw" + run_dump_test "usd" + } + # The mips16 test can only be run on ELF, because only ELF + # supports the necessary mips16 reloc. + if { $svr4pic && !$no_mips16 } { run_dump_test "mips16" } + run_dump_test "delay" + run_dump_test "nodelay" + run_dump_test "mips4010" + run_dump_test "mips4650" + run_dump_test "mips4100" + run_dump_test "lineno" + run_dump_test "sync" + + # Make sure that -mcpu=FOO and -mFOO are equivalent. Assemble a file + # containing 4650-specific instructions with -m4650 and -mcpu=4650, + # and verify that they're the same. Specifically, we're checking + # that the EF_MIPS_MACH field is set, and that the 4650 'mul' + # instruction does get used. In previous versions of GAS, + # only -mcpu=4650 would set the EF_MIPS_MACH field; -m4650 wouldn't. + run_dump_test "elf_e_flags1" + run_dump_test "elf_e_flags2" + run_dump_test "elf_e_flags3" + run_dump_test "elf_e_flags4" +} |