X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2Ftestsuite%2Fgas%2Fmips%2Fmips.exp;h=793505fea3c7cbb91331f254a268398b85319ba9;hb=f5b2fd523f8f180e11f77b84a107279c562672cd;hp=8ee0b315ba74496dcf7e3ad5c461f1ea6da0f0d8;hpb=22522f880a8e17a17c4f195796ec89caece7652b;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 8ee0b315ba..793505fea3 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -324,6 +324,15 @@ proc run_dump_test_arch { name opts arch } { set proparch [lindex [mips_arch_properties $arch 0] 0] set prefixes [list ${proparch}@ ] + if { [ string match "mips16e2*" $proparch ] } { + lappend prefixes mips16e2@ + } + if { [ string match "mips16e*" $proparch ] } { + lappend prefixes mips16e@ + } + if { [ string match "mips16*" $proparch ] } { + lappend prefixes mips16@ + } if { [ string match "octeon*" $proparch ] && $proparch != "octeon" } { lappend prefixes octeon@ } @@ -374,6 +383,15 @@ proc run_list_test_arch { name opts arch } { set testname "MIPS $name ([concat $opts [mips_arch_displayname $arch]])" set proparch [lindex [mips_arch_properties $arch 0] 0] set prefixes [list ${proparch}@ ] + if { [ string match "mips16e2*" $proparch ] } { + lappend prefixes mips16e2@ + } + if { [ string match "mips16e*" $proparch ] } { + lappend prefixes mips16e@ + } + if { [ string match "mips16*" $proparch ] } { + lappend prefixes mips16@ + } if { [ string match "octeon*" $proparch ] && $proparch != "octeon" } { lappend prefixes octeon@ } @@ -470,8 +488,20 @@ mips_arch_create mips64r6 64 mips64r5 { mips32r6 ror } \ { -march=mips64r6 -mtune=mips64r6 --defsym r6=} \ { -mmips:isa64r6 } \ { mipsisa64r6-*-* mipsisa64r6el-*-* } -mips_arch_create mips16 32 {} {} \ - { -march=mips1 -mips16 } { -mmips:16 } +mips_arch_create mips16-32 32 {} {} \ + { -march=mips1 -mips16 } { -mmips:3000 } +mips_arch_create mips16-64 64 mips16-32 {} \ + { -march=mips3 -mips16 } { -mmips:4000 } +mips_arch_create mips16e-32 32 mips16-32 {} \ + { -march=mips32 -mips16 } { -mmips:isa32 } +mips_arch_create mips16e2-32 32 mips16e-32 {} \ + { -march=mips32r2 -mips16 -mmips16e2 } \ + { -mmips:isa32r2 } +mips_arch_create mips16e-64 64 mips16-64 { mips16e-32 } \ + { -march=mips64 -mips16 } { -mmips:isa64 } +mips_arch_create mips16e2-64 64 mips16e-64 { mips16e2-32 } \ + { -march=mips64r2 -mips16 -mmips16e2 } \ + { -mmips:isa64r2 } mips_arch_create micromips 64 mips64r2 {} \ { -march=mips64r2 -mmicromips } {} mips_arch_create r3000 32 mips1 {} \ @@ -483,6 +513,9 @@ mips_arch_create r4000 64 mips3 {} \ { -march=r4000 -mtune=r4000 } { -mmips:4000 } mips_arch_create vr5400 64 mips4 { ror } \ { -march=vr5400 -mtune=vr5400 } { -mmips:5400 } +mips_arch_create interaptiv-mr2 32 mips32r3 {} \ + { -march=interaptiv-mr2 -mtune=interaptiv-mr2 } \ + { -mmips:interaptiv-mr2 } mips_arch_create sb1 64 mips64 { mips3d oddspreg } \ { -march=sb1 -mtune=sb1 } { -mmips:sb1 } \ { mipsisa64sb1-*-* mipsisa64sb1el-*-* } @@ -503,6 +536,9 @@ mips_arch_create xlr 64 mips64 { oddspreg } \ mips_arch_create r5900 64 mips3 { gpr_ilocks singlefloat nollsc } \ { -march=r5900 -mtune=r5900 } { -mmips:5900 } \ { mipsr5900el-*-* mips64r5900el-*-* } +mips_arch_create mips16e2-interaptiv-mr2 32 mips16e2-32 {} \ + { -march=interaptiv-mr2 -mips16 } \ + { -mmips:interaptiv-mr2 } # # And now begin the actual tests! VxWorks uses RELA rather than REL @@ -559,9 +595,22 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "branch-misc-1" [mips_arch_list_matching mips1] run_dump_test_arches "branch-misc-2" [mips_arch_list_matching mips1] run_dump_test_arches "branch-misc-2pic" [mips_arch_list_matching mips1] - run_dump_test_arches "branch-misc-2-64" [mips_arch_list_matching mips3] - run_dump_test_arches "branch-misc-2pic-64" [mips_arch_list_matching mips3] run_dump_test "branch-misc-3" + run_dump_test_arches "branch-misc-4" [mips_arch_list_matching mips1] + run_dump_test_arches "branch-misc-5" [mips_arch_list_matching mips1] + run_dump_test_arches "branch-misc-5pic" [mips_arch_list_matching mips1] + if $has_newabi { + run_dump_test_arches "branch-misc-2-64" \ + [mips_arch_list_matching mips3] + run_dump_test_arches "branch-misc-2pic-64" \ + [mips_arch_list_matching mips3] + run_dump_test_arches "branch-misc-4-64" \ + [mips_arch_list_matching mips3] + run_dump_test_arches "branch-misc-5-64" \ + [mips_arch_list_matching mips3] + run_dump_test_arches "branch-misc-5pic-64" \ + [mips_arch_list_matching mips3] + } run_dump_test "branch-swap" # Sweep a range of branch offsets so that it hits a position where @@ -575,6 +624,9 @@ if { [istarget mips*-*-vxworks*] } { "MIPS branch swapping ($count)" } + run_dump_test_arches "branch-swap-3" [mips_arch_list_all] + run_dump_test_arches "branch-swap-4" [mips_arch_list_all] + run_dump_test "branch-section-1" run_dump_test "branch-section-2" run_dump_test "branch-section-3" @@ -588,6 +640,44 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "branch-weak-3" run_dump_test "branch-weak-4" run_dump_test "branch-weak-5" + run_dump_test "branch-weak-6" + run_dump_test "branch-weak-7" + run_dump_test "branch-local-1" + run_dump_test "branch-local-2" + run_dump_test "branch-local-ignore-2" + run_dump_test "branch-local-3" + run_dump_test "branch-local-ignore-3" + run_dump_test "branch-local-4" + if $has_newabi { + run_dump_test "branch-local-n32-1" + run_dump_test "branch-local-n32-2" + run_dump_test "branch-local-ignore-n32-2" + run_dump_test "branch-local-n32-3" + run_dump_test "branch-local-ignore-n32-3" + run_dump_test "branch-local-n32-4" + run_dump_test "branch-local-n64-1" + run_dump_test "branch-local-n64-2" + run_dump_test "branch-local-ignore-n64-2" + run_dump_test "branch-local-n64-3" + run_dump_test "branch-local-ignore-n64-3" + run_dump_test "branch-local-n64-4" + } + run_dump_test "branch-addend" + if $has_newabi { + run_dump_test "branch-addend-n32" + run_dump_test "branch-addend-n64" + } + run_dump_test "branch-absolute" + run_dump_test "branch-absolute-addend" + if $has_newabi { + run_dump_test "branch-absolute-n32" + run_dump_test "branch-absolute-addend-n32" + run_dump_test "branch-absolute-n64" + run_dump_test "branch-absolute-addend-n64" + } + + run_dump_test_arches "nal-1" [mips_arch_list_matching mips1 !micromips] + run_dump_test_arches "nal-2" [mips_arch_list_matching mips1 !micromips] run_dump_test "compact-eh-eb-1" run_dump_test "compact-eh-eb-2" @@ -608,7 +698,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "div" - if { !$addr32 } { + if { !$addr32 && $has_newabi } { run_dump_test_arches "dli" [mips_arch_list_matching mips3] } run_dump_test_arches "jal" [mips_arch_list_matching mips1] @@ -619,9 +709,11 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "eret-1" run_dump_test "eret-2" run_dump_test "eret-3" - run_dump_test_arches "fix-rm7000-1" \ + if { $has_newabi } { + run_dump_test_arches "fix-rm7000-1" \ [mips_arch_list_matching mips3 !singlefloat \ !mips64r6] + } run_dump_test_arches "fix-rm7000-2" \ [mips_arch_list_matching mips3 !singlefloat \ !mips64r6] @@ -655,6 +747,14 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "jal-svr4pic" [mips_arch_list_matching mips1] run_dump_test_arches "jal-svr4pic-noreorder" \ [mips_arch_list_matching mips1] + run_dump_test_arches "jal-svr4pic-local" \ + [mips_arch_list_matching mips1] + if $has_newabi { + run_dump_test_arches "jal-svr4pic-local-n32" \ + [mips_arch_list_matching mips3] + run_dump_test_arches "jal-svr4pic-local-n64" \ + [mips_arch_list_matching mips3] + } run_dump_test "jal-xgot" run_list_test_arches "jal-range" "-32" [mips_arch_list_matching mips1] if $has_newabi { run_dump_test "jal-newabi" } @@ -756,7 +856,8 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "rol" [mips_arch_list_matching mips1 !ror] run_dump_test_arches "rol-hw" [mips_arch_list_matching ror] - run_dump_test_arches "rol64" [mips_arch_list_matching gpr64 !ror] + run_dump_test_arches "rol64" \ + [mips_arch_list_matching gpr64 !ror !mips16-32] run_dump_test_arches "rol64-hw" [mips_arch_list_matching gpr64 ror] run_dump_test "sb" @@ -784,22 +885,119 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "uld2-eb" [mips_arch_list_matching mips3 !mips32r6] run_dump_test_arches "uld2-el" [mips_arch_list_matching mips3 !mips32r6] - run_dump_test "mips16" - run_dump_test "mips16-64" - run_dump_test "mips16-macro" + run_dump_test_arches "mips16" [mips_arch_list_matching mips16-64] + if { $has_newabi } { + run_dump_test_arches "mips16-64" \ + [mips_arch_list_matching mips16-64] + } + run_dump_test_arches "mips16-macro" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-macro-t" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-macro-e" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-insn-t" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-insn-e" \ + [mips_arch_list_matching mips16-32] # Check MIPS16e extensions - run_dump_test_arches "mips16e" [mips_arch_list_matching mips32 !micromips \ - !mips32r6] + run_dump_test_arches "mips16e" [mips_arch_list_matching mips16e-32] + run_dump_test_arches "mips16e-64" [mips_arch_list_matching mips16e-32] + # Check MIPS16e2 extensions. + run_dump_test_arches "mips16e2" [mips_arch_list_matching mips16e2-32] + run_dump_test_arches "mips16e2-mt" [mips_arch_list_matching mips16e2-32] + # Check MIPS16 ISA subset disassembly + run_dump_test_arches "mips16-sub" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16e-sub" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16e-64-sub" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16e2-sub" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16e2-mt-sub" \ + [mips_arch_list_matching mips16-32] + # Check jalx handling run_dump_test "mips16-jalx" run_dump_test "mips-jalx" run_dump_test "mips-jalx-2" + run_dump_test "jalx-imm" + run_dump_test "jalx-addend" + run_dump_test "jalx-local" + if $has_newabi { + run_dump_test "jalx-imm-n32" + run_dump_test "jalx-addend-n32" + run_dump_test "jalx-local-n32" + run_dump_test "jalx-imm-n64" + run_dump_test "jalx-addend-n64" + run_dump_test "jalx-local-n64" + } + + run_list_test "unaligned-jump-1" "-32" \ + "MIPS jump to unaligned symbol 1" + run_list_test "unaligned-jump-2" "-32" \ + "MIPS jump to unaligned symbol 2" + if $has_newabi { + run_dump_test "unaligned-jump-3" + } + run_list_test "unaligned-jump-mips16-1" "-32" \ + "MIPS16 jump to unaligned symbol 1" + run_list_test "unaligned-jump-mips16-2" "-32" \ + "MIPS16 jump to unaligned symbol 2" + if $has_newabi { + run_dump_test "unaligned-jump-mips16-3" + } + run_list_test "unaligned-jump-micromips-1" "-32" \ + "microMIPS jump to unaligned symbol 1" + run_list_test "unaligned-jump-micromips-2" "-32" \ + "microMIPS jump to unaligned symbol 2" + if $has_newabi { + run_dump_test "unaligned-jump-micromips-3" + } + run_list_test "unaligned-branch-1" "-32" \ + "MIPS branch to unaligned symbol 1" + run_list_test "unaligned-branch-2" "-32" \ + "MIPS branch to unaligned symbol 2" + if $has_newabi { + run_dump_test "unaligned-branch-3" + } + run_list_test "unaligned-branch-r6-1" "-32" \ + "MIPSr6 branch to unaligned symbol 1" + run_list_test "unaligned-branch-r6-2" "-32 -mips64r6" \ + "MIPSr6 branch to unaligned symbol 2" + run_list_test "unaligned-branch-r6-3" "-32" \ + "MIPSr6 branch to unaligned symbol 3" + run_list_test "unaligned-branch-r6-4" "-32 -mips64r6" \ + "MIPSr6 branch to unaligned symbol 4" + if $has_newabi { + run_dump_test "unaligned-branch-r6-5" + run_dump_test "unaligned-branch-r6-6" + } + run_list_test "unaligned-branch-mips16-1" "-32" \ + "MIPS16 branch to unaligned symbol 1" + run_list_test "unaligned-branch-mips16-2" "-32" \ + "MIPS16 branch to unaligned symbol 2" + if $has_newabi { + run_dump_test "unaligned-branch-mips16-3" + } + run_list_test "unaligned-branch-micromips-1" "-32" \ + "microMIPS branch to unaligned symbol 1" + run_list_test "unaligned-branch-micromips-2" "-32" \ + "microMIPS branch to unaligned symbol 2" + if $has_newabi { + run_dump_test "unaligned-branch-micromips-3" + } + # Check MIPS16 HI16/LO16 relocations run_dump_test "mips16-hilo" + run_dump_test "mips16e2-hilo" if $has_newabi { run_dump_test "mips16-hilo-n32" + run_dump_test "mips16e2-hilo-n32" } run_dump_test "mips16-hilo-match" + run_dump_test "mips16-reloc-error" + run_dump_test "mips16e2-reloc-error" + run_dump_test "mips16-reg-error" + run_dump_test "mips16e2-imm-error" + run_dump_test "delay" run_dump_test "nodelay" run_dump_test "mips4010" @@ -818,7 +1016,9 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "sync" run_dump_test_arches "virt" [mips_arch_list_matching mips32r2] - run_dump_test_arches "virt64" [mips_arch_list_matching mips64r2] + if { $has_newabi } { + run_dump_test_arches "virt64" [mips_arch_list_matching mips64r2] + } run_dump_test_arches "mips32" [mips_arch_list_matching mips32] run_dump_test_arches "mips32-imm" [mips_arch_list_matching mips32] @@ -854,11 +1054,16 @@ if { [istarget mips*-*-vxworks*] } { if { !$addr32 } { run_dump_test "mips64-mips3d" - run_dump_test_arches "mips64-mips3d-incl" [mips_arch_list_matching mips3d] + if { $has_newabi } { + run_dump_test_arches "mips64-mips3d-incl" \ + [mips_arch_list_matching mips3d] + } run_dump_test "mips64-mdmx" - run_dump_test "sb1-ext-mdmx" - run_dump_test "sb1-ext-ps" + if { $has_newabi } { + run_dump_test "sb1-ext-mdmx" + run_dump_test "sb1-ext-ps" + } run_dump_test "xlr-ext" } @@ -917,10 +1122,15 @@ if { [istarget mips*-*-vxworks*] } { # Verify that ASE markings are handled properly. run_dump_test "elf_ase_mips16" run_dump_test "elf_ase_mips16-2" + run_dump_test "elf_ase_mips16e2" + run_dump_test "elf_ase_mips16e2-2" run_dump_test "elf_ase_micromips" run_dump_test "elf_ase_micromips-2" + # Verify that machine markings are handled properly. + run_dump_test "elf_mach_interaptiv-mr2" + run_dump_test "mips-gp32-fp32-pic" run_dump_test "mips-gp32-fp64-pic" run_dump_test "mips-gp64-fp32-pic" @@ -931,10 +1141,11 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "mips-abi32-pic2" run_dump_test "elf${el}-rel" - run_dump_test_arches "elf${el}-rel2" [mips_arch_list_matching gpr64 !singlefloat] + run_dump_test_arches "elf${el}-rel2" \ + [mips_arch_list_matching gpr64 !singlefloat !mips16-32] run_dump_test "e32${el}-rel2" run_dump_test "elf${el}-rel3" - run_dump_test_arches "elf-rel4" [mips_arch_list_matching gpr64] + run_dump_test_arches "elf-rel4" [mips_arch_list_matching gpr64 !mips16-32] run_dump_test "e32-rel4" run_dump_test "elf-rel5" run_dump_test "elf-rel6" @@ -947,6 +1158,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "elf-rel8-mips16" run_dump_test "elf-rel9" run_dump_test "elf-rel9-mips16" + run_dump_test "elf-rel9-mips16e2" if $has_newabi { run_dump_test "elf-rel10" run_dump_test "elf-rel11" @@ -993,6 +1205,8 @@ if { [istarget mips*-*-vxworks*] } { } run_list_test_arches "elf-rel30" "-32" [mips_arch_list_all] + run_dump_test "comdat-reloc" + run_dump_test "${tmips}mips${el}16-e" run_dump_test "${tmips}mips${el}16-f" @@ -1005,19 +1219,28 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "jalr2" run_dump_test_arches "jalr3" [mips_arch_list_matching mips1 \ !micromips] + run_dump_test_arches "jalr4" [mips_arch_list_matching mips1 \ + !micromips] if $has_newabi { run_dump_test_arches "jalr3-n32" \ [mips_arch_list_matching mips3 \ !micromips] + run_dump_test_arches "jalr4-n32" \ + [mips_arch_list_matching mips3 \ + !micromips] run_dump_test_arches "jalr3-n64" \ [mips_arch_list_matching mips3 \ !micromips] + run_dump_test_arches "jalr4-n64" \ + [mips_arch_list_matching mips3 \ + !micromips] } - run_dump_test_arches "aent" [mips_arch_list_matching mips1] - - run_dump_test_arches "branch-misc-4" [mips_arch_list_matching mips1] - run_dump_test_arches "branch-misc-4-64" [mips_arch_list_matching mips3] + run_dump_test_arches "aent" [mips_arch_list_matching mips1] + run_dump_test_arches "aent-2" [mips_arch_list_matching mips1] + run_dump_test_arches "aent-mdebug" [mips_arch_list_matching mips1] + run_dump_test_arches "aent-mdebug-2" \ + [mips_arch_list_matching mips1] run_dump_test_arches "loc-swap" [mips_arch_list_all] run_dump_test_arches "loc-swap-dis" [mips_arch_list_all] @@ -1141,10 +1364,15 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "loongson-3a-2" run_dump_test "loongson-3a-3" - run_dump_test_arches "octeon" [mips_arch_list_matching octeon] + if { $has_newabi } { + run_dump_test_arches "octeon" [mips_arch_list_matching octeon] + } run_dump_test_arches "octeon-saa-saad" [mips_arch_list_matching octeonp] run_list_test_arches "octeon-ill" [mips_arch_list_matching octeon] - run_dump_test_arches "octeon-pref" [mips_arch_list_matching octeon] + if { $has_newabi } { + run_dump_test_arches "octeon-pref" \ + [mips_arch_list_matching octeon] + } run_dump_test_arches "octeon2" [mips_arch_list_matching octeon2] run_dump_test_arches "octeon3" [mips_arch_list_matching octeon3] @@ -1153,9 +1381,20 @@ if { [istarget mips*-*-vxworks*] } { !octeon] run_dump_test_arches "mips32-dspr2" [mips_arch_list_matching mips32r2 \ !octeon] + run_dump_test_arches "mips32-dspr3" [mips_arch_list_matching mips32r6] run_dump_test "mips64-dsp" run_dump_test "mips32-mt" + run_dump_test_arches "save" [lsort -dictionary -unique [concat \ + [mips_arch_list_matching mips16e-32] \ + [mips_arch_list_matching interaptiv-mr2]]] + run_dump_test_arches "save-err" [lsort -dictionary -unique [concat \ + [mips_arch_list_matching mips16e-32] \ + [mips_arch_list_matching interaptiv-mr2]]] + run_dump_test_arches "save-sub" [lsort -dictionary -unique [concat \ + [mips_arch_list_matching mips1 !micromips] \ + [mips_arch_list_matching mips16-32]]] + run_dump_test "mips16-dwarf2" if $has_newabi { run_dump_test "mips16-dwarf2-n32" @@ -1163,11 +1402,26 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "mips16-stabs" run_dump_test "mips16e-jrc" - run_dump_test "mips16e-save" - run_list_test "mips16e-save-err" "-march=mips32 -32" - run_dump_test "mips16e-64" - run_list_test "mips16e-64" "-march=mips32 -32" + run_dump_test "mips16e2-lui" + run_dump_test "mips16e2-mt-err" + run_dump_test "mips16e2-copy" + run_dump_test "mips16e2-copy-err" + run_dump_test "mips16-intermix" + run_dump_test "mips16-extend" + run_dump_test "mips16-extend-swap" + run_dump_test "mips16-sprel-swap" + run_dump_test "mips16-sdrasp" + run_dump_test "mips16-insn-length-noargs" + + run_dump_test "mips16-branch-unextended-1" + run_dump_test "mips16-branch-unextended-2" + run_dump_test "mips16-relax-unextended-1" + run_dump_test "mips16-relax-unextended-2" + run_dump_test "mips16-jal-t" + run_dump_test "mips16-jal-e" + + run_dump_test_arches "mips16-asmacro" [mips_arch_list_matching mips16-32] run_dump_test "vxworks1" run_dump_test "vxworks1-xgot" @@ -1197,8 +1451,12 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "mips16-vis-1" run_dump_test "call-nonpic-1" run_dump_test "mips32-sync" - run_dump_test_arches "mips32r2-sync" \ - [mips_arch_list_matching mips32r2] + run_dump_test_arches "mips32r2-sync" [lsort -dictionary -unique [concat \ + [mips_arch_list_matching mips32r2] \ + [mips_arch_list_matching mips16e2-32]]] + run_dump_test_arches "mips32r2-sync-1" [lsort -dictionary -unique [concat \ + [mips_arch_list_matching mips32r2] \ + [mips_arch_list_matching mips16e2-32]]] run_dump_test_arches "alnv_ps-swap" [mips_arch_list_matching fpisa5 \ !mips32r6] run_dump_test_arches "cache" [lsort -dictionary -unique [concat \ @@ -1218,6 +1476,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "micromips" run_dump_test "micromips-trap" + run_dump_test "micromips-compact" run_dump_test "micromips-insn32" run_dump_test "micromips-noinsn32" run_list_test "micromips" "-mips32r2 -32 -mfp64 -minsn32" \ @@ -1227,9 +1486,19 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "micromips-size-1" run_dump_test "micromips-branch-relax" run_dump_test "micromips-branch-relax-pic" + run_dump_test "micromips-branch-relax-insn32" + run_dump_test "micromips-branch-relax-insn32-pic" run_dump_test "micromips-branch-delay" run_dump_test "micromips-warn-branch-delay" run_dump_test "micromips-warn-branch-delay-1" + run_dump_test "micromips-branch-absolute" + run_dump_test "micromips-branch-absolute-addend" + if $has_newabi { + run_dump_test "micromips-branch-absolute-n32" + run_dump_test "micromips-branch-absolute-addend-n32" + run_dump_test "micromips-branch-absolute-n64" + run_dump_test "micromips-branch-absolute-addend-n64" + } run_dump_test "micromips-b16" run_list_test "micromips-ill" @@ -1244,8 +1513,14 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "hilo-diff-el-n64" [mips_arch_list_matching mips3] } run_dump_test_arches "lui" [mips_arch_list_matching mips1] - run_list_test_arches "lui-1" "-32" [mips_arch_list_matching mips1] - run_list_test_arches "lui-2" "-32" [mips_arch_list_matching mips1] + run_dump_test_arches "lui-1" [lsort -dictionary -unique [concat \ + [mips_arch_list_matching mips1] \ + [mips_arch_list_matching mips16e2-32]]] + run_dump_test_arches "lui-2" [lsort -dictionary -unique [concat \ + [mips_arch_list_matching mips1] \ + [mips_arch_list_matching mips16e2-32]]] + run_dump_test_arches "addiu-error" [mips_arch_list_all] + run_dump_test_arches "break-error" [mips_arch_list_all] run_dump_test "r5900" run_dump_test "r5900-full" @@ -1280,12 +1555,17 @@ if { [istarget mips*-*-vxworks*] } { run_list_test "bltzal" run_dump_test_arches "msa" [mips_arch_list_matching mips32r2] - run_dump_test_arches "msa64" [mips_arch_list_matching mips64r2] + if { $has_newabi } { + run_dump_test_arches "msa64" [mips_arch_list_matching mips64r2] + } run_dump_test_arches "msa-relax" [mips_arch_list_matching mips32r2 !mips32r6] run_dump_test_arches "msa-branch" [mips_arch_list_matching mips32r2] run_dump_test_arches "xpa" [mips_arch_list_matching mips32r2 !micromips] - run_dump_test_arches "r5" "-32" [mips_arch_list_matching mips32r5 !micromips] + run_dump_test_arches "xpa-err" [mips_arch_list_matching mips32r2 !micromips] + run_dump_test_arches "xpa-virt-err" \ + [mips_arch_list_matching mips32r2 !micromips] + run_dump_test_arches "r5" "-32" [mips_arch_list_matching mips32r5] run_dump_test "pcrel-1" run_dump_test "pcrel-2" @@ -1296,10 +1576,190 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "pcrel-4-64" } + run_dump_test "pcrel-reloc-1" + run_dump_test "pcrel-reloc-1-r6" + run_dump_test "pcrel-reloc-2" + run_dump_test "pcrel-reloc-2-r6" + run_dump_test "pcrel-reloc-3" + run_dump_test "pcrel-reloc-3-r6" + run_dump_test "pcrel-reloc-4" + run_dump_test "pcrel-reloc-4-r6" + run_dump_test "pcrel-reloc-5" + run_dump_test "pcrel-reloc-5-r6" + run_dump_test "pcrel-reloc-6" + run_list_test "pcrel-reloc-6" "-32 --defsym offset=4" \ + "MIPS local PC-relative relocations 6b" + + run_dump_test_arches "mips16-pcrel-0" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-1" [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-2" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-3" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-4" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-5" [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-pic-0" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-pic-1" \ + [mips_arch_list_matching mips16-64] + if $has_newabi { + run_dump_test_arches "mips16-pcrel-n32-0" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-n32-1" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-n64-sym32-0" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-n64-sym32-1" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-n64-0" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-n64-1" \ + [mips_arch_list_matching mips16-64] + } + run_dump_test_arches "mips16-pcrel-delay-0" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-delay-1" \ + [mips_arch_list_matching mips16-32] + run_dump_test "mips16-pcrel-relax-0" + run_dump_test "mips16-pcrel-relax-1" + run_dump_test "mips16-pcrel-relax-2" + run_dump_test "mips16-pcrel-relax-3" + run_dump_test_arches "mips16-pcrel-reloc-0" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-reloc-1" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-reloc-2" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-reloc-3" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-reloc-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-reloc-5" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-reloc-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-reloc-7" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-0" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-addend-1" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-addend-2" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-addend-3" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-addend-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-5" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-7" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-8" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-addend-9" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-pic-8" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-addend-pic-9" \ + [mips_arch_list_matching mips16-64] + if $has_newabi { + run_dump_test_arches "mips16-pcrel-addend-n32-8" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-n32-9" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-n64-sym32-8" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-n64-sym32-9" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-n64-8" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-addend-n64-9" \ + [mips_arch_list_matching mips16-64] + } + run_dump_test_arches "mips16-pcrel-absolute" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-absolute-1" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-absolute-2" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-3" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-4" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-absolute-5" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-absolute-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-7" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-pic-4" \ + [mips_arch_list_matching mips16-32] + run_dump_test_arches "mips16-pcrel-absolute-pic-6" \ + [mips_arch_list_matching mips16-64] + if $has_newabi { + run_dump_test_arches "mips16-pcrel-absolute-n32-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-n32-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-n64-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-n64-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-n64-sym32-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-n64-sym32-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-pic-n32-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-pic-n32-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-pic-n64-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-pic-n64-6" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-pic-n64-sym32-4" \ + [mips_arch_list_matching mips16-64] + run_dump_test_arches "mips16-pcrel-absolute-pic-n64-sym32-6" \ + [mips_arch_list_matching mips16-64] + } + run_dump_test "mips16-branch-reloc-0" + run_dump_test "mips16-branch-reloc-1" + run_dump_test "mips16-branch-reloc-2" + run_dump_test "mips16-branch-reloc-3" + run_dump_test "mips16-branch-addend-0" + run_dump_test "mips16-branch-addend-1" + run_dump_test "mips16-branch-addend-2" + run_dump_test "mips16-branch-addend-3" + run_dump_test "mips16-branch-addend-4" + run_dump_test "mips16-branch-addend-5" + run_dump_test "mips16-branch-absolute" + run_dump_test "mips16-branch-absolute-1" + run_dump_test "mips16-branch-absolute-2" + run_dump_test "mips16-branch-absolute-addend" + run_dump_test "mips16-branch-absolute-addend-1" + if $has_newabi { + run_dump_test "mips16-branch-absolute-n32" + run_dump_test "mips16-branch-absolute-n32-1" + run_dump_test "mips16-branch-absolute-n32-2" + run_dump_test "mips16-branch-absolute-addend-n32" + run_dump_test "mips16-branch-absolute-addend-n32-1" + run_dump_test "mips16-branch-absolute-n64" + run_dump_test "mips16-branch-absolute-n64-1" + run_dump_test "mips16-branch-absolute-n64-2" + run_dump_test "mips16-branch-absolute-addend-n64" + run_dump_test "mips16-branch-absolute-addend-n64-1" + } + run_dump_test "mips16-absolute-reloc-0" + run_dump_test "mips16-absolute-reloc-1" + run_dump_test "mips16-absolute-reloc-2" + run_dump_test "mips16-absolute-reloc-3" + run_dump_test_arches "attr-gnu-4-0" "-32" \ [mips_arch_list_matching mips1] - run_dump_test_arches "attr-gnu-4-0" "-64" \ + if { $has_newabi } { + run_dump_test_arches "attr-gnu-4-0" "-64" \ [mips_arch_list_matching mips3] + } run_dump_test_arches "attr-gnu-4-0" "-mfp32 -32" \ [mips_arch_list_matching mips1 !mips32r6] run_dump_test_arches "attr-gnu-4-0" "-mfpxx -32" \ @@ -1308,22 +1768,30 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips32r2] run_dump_test_arches "attr-gnu-4-0" "-mfp64 -mno-odd-spreg -32" \ [mips_arch_list_matching mips32r2] - run_dump_test_arches "attr-gnu-4-0" "-mfp64 -64" \ + if { $has_newabi } { + run_dump_test_arches "attr-gnu-4-0" "-mfp64 -64" \ [mips_arch_list_matching mips3] + } run_dump_test_arches "attr-gnu-4-0" "-msingle-float -32" \ [mips_arch_list_matching mips1] - run_dump_test_arches "attr-gnu-4-0" "-msingle-float -64" \ + if { $has_newabi } { + run_dump_test_arches "attr-gnu-4-0" "-msingle-float -64" \ [mips_arch_list_matching mips3] + } run_dump_test_arches "attr-gnu-4-0" "-msoft-float -32" \ [mips_arch_list_matching mips1] - run_dump_test_arches "attr-gnu-4-0" "-msoft-float -64" \ + if { $has_newabi } { + run_dump_test_arches "attr-gnu-4-0" "-msoft-float -64" \ [mips_arch_list_matching mips3] + } run_dump_test_arches "attr-none-double" "-32" \ [mips_arch_list_matching mips1 !mips32r6] run_dump_test_arches "r6-attr-none-double" "-32" \ [mips_arch_list_matching mips32r6] - run_dump_test_arches "attr-none-double" "-64" \ + if { $has_newabi } { + run_dump_test_arches "attr-none-double" "-64" \ [mips_arch_list_matching mips3] + } run_dump_test_arches "attr-none-o32-fpxx" \ [mips_arch_list_matching mips2 !r5900] run_dump_test_arches "attr-none-o32-fp64" \ @@ -1332,20 +1800,26 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips32r2] run_dump_test_arches "attr-none-single-float" "-32" \ [mips_arch_list_matching mips1] - run_dump_test_arches "attr-none-single-float" "-64" \ + if { $has_newabi } { + run_dump_test_arches "attr-none-single-float" "-64" \ [mips_arch_list_matching mips3] + } run_dump_test_arches "attr-none-soft-float" "-32 -msoft-float" \ [mips_arch_list_matching mips1] - run_dump_test_arches "attr-none-soft-float" "-64 -msoft-float" \ + if { $has_newabi } { + run_dump_test_arches "attr-none-soft-float" "-64 -msoft-float" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-1-mfp64" \ "-32 -mfp64 -mno-odd-spreg" \ [mips_arch_list_matching mips32r2] run_list_test_arches "attr-gnu-4-1-mfp64" "-32 -mfp64" \ [mips_arch_list_matching mips32r2] - run_list_test_arches "attr-gnu-4-1-mfp32" "-64 -mfp32" \ + if { $has_newabi } { + run_list_test_arches "attr-gnu-4-1-mfp32" "-64 -mfp32" \ [mips_arch_list_matching mips3 !mips64r6] + } run_list_test_arches "attr-gnu-4-1-msingle-float" "-32 -msingle-float" \ [mips_arch_list_matching mips1] run_list_test_arches "attr-gnu-4-1-msoft-float" "-32 -msoft-float" \ @@ -1354,8 +1828,10 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips2 !r5900] run_dump_test_arches "attr-gnu-4-1" "-32 -mfp32" \ [mips_arch_list_matching mips1 !mips32r6] - run_dump_test_arches "attr-gnu-4-1" "-64 -mfp64" \ + if { $has_newabi } { + run_dump_test_arches "attr-gnu-4-1" "-64 -mfp64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-2-mdouble-float" "-32 -mfp32" \ [mips_arch_list_matching mips1 !mips32r6] @@ -1366,14 +1842,18 @@ if { [istarget mips*-*-vxworks*] } { run_list_test_arches "attr-gnu-4-2-mdouble-float" \ "-32 -mfp64 -mno-odd-spreg" \ [mips_arch_list_matching mips32r2] - run_list_test_arches "attr-gnu-4-2-mdouble-float" "-64 -mfp64" \ + if { $has_newabi } { + run_list_test_arches "attr-gnu-4-2-mdouble-float" "-64 -mfp64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-2-msoft-float" "-32 -msoft-float" \ [mips_arch_list_matching mips1] run_dump_test_arches "attr-gnu-4-2" "-32" \ [mips_arch_list_matching mips1] - run_dump_test_arches "attr-gnu-4-2" "-64" \ + if { $has_newabi } { + run_dump_test_arches "attr-gnu-4-2" "-64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-3-mhard-float" "-32 -mfp32" \ [mips_arch_list_matching mips1 !mips32r6] @@ -1384,14 +1864,18 @@ if { [istarget mips*-*-vxworks*] } { run_list_test_arches "attr-gnu-4-3-mhard-float" \ "-32 -mfp64 -mno-odd-spreg" \ [mips_arch_list_matching mips32r2] - run_list_test_arches "attr-gnu-4-3-mhard-float" "-64 -mfp64" \ + if { $has_newabi } { + run_list_test_arches "attr-gnu-4-3-mhard-float" "-64 -mfp64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-3-mhard-float" "-32 -msingle-float" \ [mips_arch_list_matching mips1] run_dump_test_arches "attr-gnu-4-3" "-32" \ [mips_arch_list_matching mips1] - run_dump_test_arches "attr-gnu-4-3" "-64" \ + if { $has_newabi } { + run_dump_test_arches "attr-gnu-4-3" "-64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-4" "-32 -mfp32" \ [mips_arch_list_matching mips1 !mips32r6] @@ -1401,8 +1885,10 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips32r2] run_list_test_arches "attr-gnu-4-4" "-32 -mfp64 -mno-odd-spreg" \ [mips_arch_list_matching mips32r2] - run_list_test_arches "attr-gnu-4-4" "-64 -mfp64" \ + if { $has_newabi } { + run_list_test_arches "attr-gnu-4-4" "-64 -mfp64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-4" "-32 -msingle-float" \ [mips_arch_list_matching mips1] run_list_test_arches "attr-gnu-4-4" "-32 -msoft-float" \ @@ -1414,8 +1900,10 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips32r2] run_list_test_arches "attr-gnu-4-5" "-32 -mfp64 -mno-odd-spreg" \ [mips_arch_list_matching mips32r2] - run_list_test_arches "attr-gnu-4-5-64" "-64 -mfp64" \ + if { $has_newabi } { + run_list_test_arches "attr-gnu-4-5-64" "-64 -mfp64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-5-msingle-float" "-32 -msingle-float" \ [mips_arch_list_matching mips1] run_list_test_arches "attr-gnu-4-5-msoft-float" "-32 -msoft-float" \ @@ -1427,8 +1915,10 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips1 !mips32r6] run_list_test_arches "attr-gnu-4-6-noodd" "-32 -mfp64 -mno-odd-spreg" \ [mips_arch_list_matching mips32r2] - run_list_test_arches "attr-gnu-4-6-64" "-64 -mfp64" \ + if { $has_newabi } { + run_list_test_arches "attr-gnu-4-6-64" "-64 -mfp64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-6-msingle-float" "-32 -msingle-float" \ [mips_arch_list_matching mips1] run_list_test_arches "attr-gnu-4-6-msoft-float" "-32 -msoft-float" \ @@ -1442,8 +1932,10 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips1 !mips32r6] run_list_test_arches "attr-gnu-4-7-odd" "-32 -mfp64" \ [mips_arch_list_matching mips32r2] - run_list_test_arches "attr-gnu-4-7-64" "-64 -mfp64" \ + if { $has_newabi } { + run_list_test_arches "attr-gnu-4-7-64" "-64 -mfp64" \ [mips_arch_list_matching mips3] + } run_list_test_arches "attr-gnu-4-7-msingle-float" "-32 -msingle-float" \ [mips_arch_list_matching mips1] run_list_test_arches "attr-gnu-4-7-msoft-float" "-32 -msoft-float" \ @@ -1495,9 +1987,33 @@ if { [istarget mips*-*-vxworks*] } { "MIPS invalid PIC option in VxWorks PIC" run_list_test "option-pic-vxworks-2" "-mvxworks-pic" \ "MIPS invalid switch to SVR4 PIC from VxWorks PIC" + run_dump_test "option-pic-relax-0" + run_dump_test "option-pic-relax-1" + run_dump_test "option-pic-relax-2" + run_dump_test "option-pic-relax-3" + run_dump_test "option-pic-relax-3a" + run_dump_test "option-pic-relax-4" + run_dump_test "option-pic-relax-5" run_dump_test_arches "isa-override-1" "" [mips_arch_list_matching mips1] - run_list_test_arches "isa-override-2" "-32" [mips_arch_list_matching mips1] + run_dump_test_arches "isa-override-2" "" [mips_arch_list_matching mips1] + + run_dump_test "debug-label-end-1" + run_dump_test "debug-label-end-2" + run_dump_test "debug-label-end-3" + + run_dump_test "org-1" + run_dump_test "org-2" + run_dump_test "org-3" + run_dump_test "org-4" + run_dump_test "org-5" + run_dump_test "org-6" + run_dump_test "org-7" + run_dump_test "org-8" + run_dump_test "org-9" + run_dump_test "org-10" + run_dump_test "org-11" + run_dump_test "org-12" run_dump_test_arches "r6" [mips_arch_list_matching mips32r6] if $has_newabi {