| # |
| # 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" |
| } |