aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/testsuite/binutils-all/mips/mips.exp75
-rw-r--r--gas/testsuite/gas/mips/align2-el.d2
-rw-r--r--gas/testsuite/gas/mips/align2.d2
-rw-r--r--gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d2
-rw-r--r--gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d21
-rw-r--r--gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s1
-rw-r--r--gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d21
-rw-r--r--gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s1
-rw-r--r--gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d2
-rw-r--r--gas/testsuite/gas/mips/branch-absolute-addend.d2
-rw-r--r--gas/testsuite/gas/mips/branch-absolute.d2
-rw-r--r--gas/testsuite/gas/mips/branch-addend-micromips.d2
-rw-r--r--gas/testsuite/gas/mips/branch-addend.d2
-rw-r--r--gas/testsuite/gas/mips/branch-extern-2.d2
-rw-r--r--gas/testsuite/gas/mips/branch-extern-4.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-1.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-2.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-3.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-4.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-5.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-6.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-7.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-ignore-2.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-ignore-3.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-ignore-5.d2
-rw-r--r--gas/testsuite/gas/mips/branch-local-ignore-6.d2
-rw-r--r--gas/testsuite/gas/mips/branch-section-1.d2
-rw-r--r--gas/testsuite/gas/mips/branch-section-2.d2
-rw-r--r--gas/testsuite/gas/mips/branch-section-3.d2
-rw-r--r--gas/testsuite/gas/mips/branch-section-4.d2
-rw-r--r--gas/testsuite/gas/mips/branch-weak-1.d2
-rw-r--r--gas/testsuite/gas/mips/branch-weak-2.d2
-rw-r--r--gas/testsuite/gas/mips/branch-weak-3.d2
-rw-r--r--gas/testsuite/gas/mips/branch-weak-4.d2
-rw-r--r--gas/testsuite/gas/mips/branch-weak-5.d2
-rw-r--r--gas/testsuite/gas/mips/branch-weak-6.d2
-rw-r--r--gas/testsuite/gas/mips/branch-weak-7.d2
-rw-r--r--gas/testsuite/gas/mips/comdat-reloc-r6.d34
-rw-r--r--gas/testsuite/gas/mips/comdat-reloc.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-1.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-2.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-3.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-4.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-5.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-6.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-7.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-1.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-2.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-3.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-4.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-5.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-6.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-7.d2
-rw-r--r--gas/testsuite/gas/mips/elf-rel.d12
-rw-r--r--gas/testsuite/gas/mips/elf-rel.s36
-rw-r--r--gas/testsuite/gas/mips/elf-rel6.d2
-rw-r--r--gas/testsuite/gas/mips/elf_ase_micromips-2.d2
-rw-r--r--gas/testsuite/gas/mips/elf_ase_micromips.d2
-rw-r--r--gas/testsuite/gas/mips/elf_ase_mips16-2.d2
-rw-r--r--gas/testsuite/gas/mips/elf_ase_mips16.d2
-rw-r--r--gas/testsuite/gas/mips/elfel-rel.d12
-rw-r--r--gas/testsuite/gas/mips/insn-isa-mode.d2
-rw-r--r--gas/testsuite/gas/mips/insn-opts.d1
-rw-r--r--gas/testsuite/gas/mips/jalx-addend.d2
-rw-r--r--gas/testsuite/gas/mips/jalx-imm.d2
-rw-r--r--gas/testsuite/gas/mips/jalx-local.d2
-rw-r--r--gas/testsuite/gas/mips/loongson-2f-3.d2
-rw-r--r--gas/testsuite/gas/mips/micromips-b16.d2
-rw-r--r--gas/testsuite/gas/mips/micromips-branch-absolute-addend.d2
-rw-r--r--gas/testsuite/gas/mips/micromips-branch-absolute.d2
-rw-r--r--gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d2
-rw-r--r--gas/testsuite/gas/mips/micromips-warn-branch-delay.d2
-rw-r--r--gas/testsuite/gas/mips/mips-jalx-2.d2
-rw-r--r--gas/testsuite/gas/mips/mips.exp58
-rw-r--r--gas/testsuite/gas/mips/mips16-absolute-reloc-0.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-absolute-reloc-2.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-absolute-1.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-absolute-2.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-absolute-addend.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-absolute.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-addend-0.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-addend-1.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-addend-2.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-addend-3.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-addend-4.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-addend-5.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-reloc-0.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-reloc-1.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-reloc-2.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-reloc-3.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-reloc-4.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-reloc-5.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-unextended-1.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-branch-unextended-2.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-dwarf2.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-e.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-extend.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-f.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-hilo.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-insn-length-noargs.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-jal-e.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-jal-t.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-pcrel-relax-0.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-pcrel-relax-1.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-pcrel-relax-2.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-pcrel-relax-3.d2
-rw-r--r--gas/testsuite/gas/mips/mips16-vis-1.d1
-rw-r--r--gas/testsuite/gas/mips/mipsel16-e.d2
-rw-r--r--gas/testsuite/gas/mips/mipsel16-f.d2
-rw-r--r--gas/testsuite/gas/mips/module-mfp32.d2
-rw-r--r--gas/testsuite/gas/mips/module-mfp64r6-noodd.d21
-rw-r--r--gas/testsuite/gas/mips/module-mfp64r6.d21
-rw-r--r--gas/testsuite/gas/mips/module-msoft-float-r6.d20
-rw-r--r--gas/testsuite/gas/mips/module-msoft-float-r6.s3
-rw-r--r--gas/testsuite/gas/mips/module-msoft-float.d2
-rw-r--r--gas/testsuite/gas/mips/nan-2008-3.d1
-rw-r--r--gas/testsuite/gas/mips/nan-legacy-1.d1
-rw-r--r--gas/testsuite/gas/mips/nan-legacy-2.d2
-rw-r--r--gas/testsuite/gas/mips/nan-legacy-3.d1
-rw-r--r--gas/testsuite/gas/mips/nan-legacy-4.d2
-rw-r--r--gas/testsuite/gas/mips/nan-legacy-5.d1
-rw-r--r--gas/testsuite/gas/mips/option-pic-1.d2
-rw-r--r--gas/testsuite/gas/mips/option-pic-relax-0.d2
-rw-r--r--gas/testsuite/gas/mips/option-pic-relax-1.d2
-rw-r--r--gas/testsuite/gas/mips/option-pic-relax-3.d4
-rw-r--r--gas/testsuite/gas/mips/option-pic-relax-3a.d2
-rw-r--r--gas/testsuite/gas/mips/option-pic-relax-4.d2
-rw-r--r--gas/testsuite/gas/mips/option-pic-relax-5.d2
-rw-r--r--gas/testsuite/gas/mips/org-1.d2
-rw-r--r--gas/testsuite/gas/mips/org-10.d2
-rw-r--r--gas/testsuite/gas/mips/org-11.d2
-rw-r--r--gas/testsuite/gas/mips/org-12.d1
-rw-r--r--gas/testsuite/gas/mips/org-2.d2
-rw-r--r--gas/testsuite/gas/mips/org-3.d1
-rw-r--r--gas/testsuite/gas/mips/org-4.d2
-rw-r--r--gas/testsuite/gas/mips/org-5.d2
-rw-r--r--gas/testsuite/gas/mips/org-6.d1
-rw-r--r--gas/testsuite/gas/mips/org-7.d2
-rw-r--r--gas/testsuite/gas/mips/org-8.d2
-rw-r--r--gas/testsuite/gas/mips/org-9.d1
-rw-r--r--gas/testsuite/gas/mips/pcrel-reloc-1.d2
-rw-r--r--gas/testsuite/gas/mips/pcrel-reloc-2.d2
-rw-r--r--gas/testsuite/gas/mips/pcrel-reloc-3.d2
-rw-r--r--gas/testsuite/gas/mips/pcrel-reloc-4.d2
-rw-r--r--gas/testsuite/gas/mips/pcrel-reloc-5.d2
-rw-r--r--gas/testsuite/gas/mips/pcrel-reloc-6.d2
-rw-r--r--gas/testsuite/gas/mips/set-arch.d4
-rw-r--r--gas/testsuite/gas/mips/tmips16-e.d2
-rw-r--r--gas/testsuite/gas/mips/tmips16-f.d2
-rw-r--r--gas/testsuite/gas/mips/tmipsel16-e.d2
-rw-r--r--gas/testsuite/gas/mips/tmipsel16-f.d2
-rw-r--r--gas/testsuite/gas/mips/unaligned-branch-r6-1.s1
-rw-r--r--gas/testsuite/gas/mips/unaligned-branch-r6-3.s1
-rw-r--r--gas/testsuite/gas/mips/unaligned-branch-r6-5.d2
-rw-r--r--gas/testsuite/gas/mips/unaligned-jump-mips16-3.d2
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-4-01.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-4-11.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-4-40.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-4-41.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-8-00.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-8-01.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-8-02.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-8-10.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-8-11.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-8-20.d1
-rw-r--r--ld/testsuite/ld-mips-elf/attr-gnu-8-22.d1
-rw-r--r--ld/testsuite/ld-mips-elf/emit-relocs-1.d2
-rw-r--r--ld/testsuite/ld-mips-elf/gp-disp-sym.s2
-rw-r--r--ld/testsuite/ld-mips-elf/jalr3.dd2
-rw-r--r--ld/testsuite/ld-mips-elf/jalx-1.d2
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp316
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-1.d4
-rw-r--r--ld/testsuite/ld-mips-elf/mips16-and-micromips.d4
-rw-r--r--ld/testsuite/ld-mips-elf/mode-change-error-1.d4
-rw-r--r--ld/testsuite/ld-mips-elf/n64-plt-1.dd2
-rw-r--r--ld/testsuite/ld-mips-elf/n64-plt-4.dd2
-rw-r--r--ld/testsuite/ld-mips-elf/nan-legacy.d1
-rw-r--r--ld/testsuite/ld-mips-elf/nan-mixed-1.d1
-rw-r--r--ld/testsuite/ld-mips-elf/nan-mixed-2.d1
-rw-r--r--ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d2
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3.d2
182 files changed, 621 insertions, 349 deletions
diff --git a/binutils/testsuite/binutils-all/mips/mips.exp b/binutils/testsuite/binutils-all/mips/mips.exp
index 91bf327..3b7bc29 100644
--- a/binutils/testsuite/binutils-all/mips/mips.exp
+++ b/binutils/testsuite/binutils-all/mips/mips.exp
@@ -52,7 +52,8 @@ proc run_dump_test_abi { abi name args } {
set ldflags $abi_ldflags($abi)
set args [lreplace $args 0 0]
}
- if !$has_abi($abi) {
+ set abi_r [regsub "l$" $abi {}]
+ if !$has_abi($abi_r) {
lappend args {notarget *-*-*}
}
@@ -74,6 +75,13 @@ proc run_dump_test_abi { abi name args } {
proc run_dump_test_o32 { name args } {
run_dump_test_abi o32 $name [lindex $args 0]
}
+proc run_dump_test_o32l { name args } {
+ if {[istarget *-linux*] || [istarget *-img-elf]} {
+ run_dump_test_abi o32l $name [lindex $args 0]
+ } else {
+ run_dump_test_abi o32 $name [lindex $args 0]
+ }
+}
# run_dump_test_n32 NAME ARGS
#
@@ -82,6 +90,13 @@ proc run_dump_test_o32 { name args } {
proc run_dump_test_n32 { name args } {
run_dump_test_abi n32 $name [lindex $args 0]
}
+proc run_dump_test_n32l { name args } {
+ if {[istarget *-linux*] || [istarget *-img-elf]} {
+ run_dump_test_abi n32l $name [lindex $args 0]
+ } else {
+ run_dump_test_abi n32 $name [lindex $args 0]
+ }
+}
# run_dump_test_n64 NAME ARGS
#
@@ -90,6 +105,13 @@ proc run_dump_test_n32 { name args } {
proc run_dump_test_n64 { name args } {
run_dump_test_abi n64 $name [lindex $args 0]
}
+proc run_dump_test_n64l { name args } {
+ if {[istarget *-linux*] || [istarget *-img-elf]} {
+ run_dump_test_abi n64l $name [lindex $args 0]
+ } else {
+ run_dump_test_abi n64 $name [lindex $args 0]
+ }
+}
set has_abi(o32) [expr ![istarget *-*-openbsd*] \
&& ![istarget mips64*el-ps2-elf*]]
@@ -109,49 +131,68 @@ set has_abi(n64) [expr [istarget *-*-freebsd*] \
|| [istarget *-*-openbsd*]]
# Set defaults.
+# ABI with l tail means legacy, aka pre-R6.
+# Please use them, if the test only suite for pre-R6,
+# such as mips16/micromips tests.
set abi_asflags(o32) ""
+set abi_asflags(o32l) ""
set abi_asflags(n32) ""
+set abi_asflags(n32l) ""
set abi_asflags(n64) ""
+set abi_asflags(n64l) ""
set abi_asflags(eabi) ""
set abi_ldflags(o32) ""
+set abi_ldflags(o32l) ""
set abi_ldflags(n32) ""
+set abi_ldflags(n32l) ""
set abi_ldflags(n64) ""
+set abi_ldflags(n64l) ""
set abi_ldflags(eabi) ""
# Override as needed.
if {[istarget *-*-openbsd*] } {
set irixemul 0
-} elseif { [istarget mips64*-*-linux*] } {
+} elseif { [istarget mips*64*-*-linux*] } {
+ set abi_asflags(o32) -32
+ set abi_asflags(o32l) "-32 -march=from-abi"
+ set abi_asflags(n32) ""
+ set abi_asflags(n32l) "-n32 -march=from-abi"
+ set abi_asflags(n64) "-64"
+ set abi_asflags(n64l) "-march=from-abi -64"
if [istarget *el-*-*] {
- set abi_asflags(o32) -32
set abi_ldflags(o32) -melf32ltsmip
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(o32l) -melf32ltsmip
set abi_ldflags(n64) -melf64ltsmip
+ set abi_ldflags(n64l) -melf64ltsmip
} else {
- set abi_asflags(o32) -32
set abi_ldflags(o32) -melf32btsmip
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(o32l) -melf32btsmip
set abi_ldflags(n64) -melf64btsmip
+ set abi_ldflags(n64l) -melf64btsmip
}
set irixemul 0
-} elseif {[istarget *-*-linux*] } {
+} elseif {[istarget *-*-linux*] || [istarget *-img-elf] } {
+ set abi_asflags(o32) ""
+ set abi_asflags(o32l) "-march=from-abi"
+ set abi_asflags(n32) "-n32"
+ set abi_asflags(n32l) "-n32 -march=from-abi"
+ set abi_asflags(n64) "-64"
+ set abi_asflags(n64l) "-64 -march=from-abi"
if [istarget *el-*-*] {
- set abi_asflags(n32) "-march=from-abi -n32"
set abi_ldflags(n32) -melf32ltsmipn32
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(n32l) -melf32ltsmipn32
set abi_ldflags(n64) -melf64ltsmip
+ set abi_ldflags(n64l) -melf64ltsmip
} else {
- set abi_asflags(n32) "-march=from-abi -n32"
set abi_ldflags(n32) -melf32btsmipn32
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(n32l) -melf32btsmipn32
set abi_ldflags(n64) -melf64btsmip
+ set abi_ldflags(n64l) -melf64btsmip
}
set irixemul 0
-} elseif {[istarget *-img-elf*] \
- || [istarget *-mti-elf*] \
+} elseif {[istarget *-mti-elf*] \
|| [istarget *-sde-elf*] \
|| [istarget *-*-netbsd*] \
- || [istarget *-*-linux*] \
|| [istarget *-*-sysv4*] } {
if [istarget *el-*-*] {
set abi_asflags(o32) -32
@@ -229,11 +270,13 @@ run_dump_test "mips-xpa-virt-3"
run_dump_test "mips-xpa-virt-4"
run_dump_test_o32 "mixed-mips16" noarch
run_dump_test_o32 "mixed-micromips" noarch
-run_dump_test "mixed-mips16-micromips"
+run_dump_test_o32l "mixed-mips16-micromips"
+run_dump_test_n32l "mixed-mips16-micromips"
+run_dump_test_n64l "mixed-mips16-micromips"
run_dump_test_o32 "mips16-undecoded" noarch
run_dump_test_o32 "mips16e2-undecoded" noarch
run_dump_test_o32 "mips16-pcrel"
-run_dump_test_o32 "mips16-extend-noinsn"
+run_dump_test_o32l "mips16-extend-noinsn"
run_dump_test_o32 "mips16-extend-insn" noarch
run_dump_test_o32 "mips16e2-extend-insn" noarch
run_dump_test_o32 "mips16-alias" noarch
diff --git a/gas/testsuite/gas/mips/align2-el.d b/gas/testsuite/gas/mips/align2-el.d
index 1f50774..8072c52 100644
--- a/gas/testsuite/gas/mips/align2-el.d
+++ b/gas/testsuite/gas/mips/align2-el.d
@@ -1,5 +1,5 @@
# source: align2.s
-# as: -EL
+# as: -EL -march=from-abi
# objdump: -dr
.* file format .*
diff --git a/gas/testsuite/gas/mips/align2.d b/gas/testsuite/gas/mips/align2.d
index 7090cee..d14fa2c 100644
--- a/gas/testsuite/gas/mips/align2.d
+++ b/gas/testsuite/gas/mips/align2.d
@@ -1,4 +1,4 @@
-# as: -EB
+# as: -EB -march=from-abi
# objdump: -dr
.* file format .*
diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d b/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d
index 17218d3..9009c70 100644
--- a/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d
+++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d
@@ -1,4 +1,4 @@
-#as: -32
+#as: -32 -mips1
#source: attr-gnu-abi-fp-1.s
#readelf: -A
#name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_FP,1
diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d
new file mode 100644
index 0000000..2550241
--- /dev/null
+++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d
@@ -0,0 +1,21 @@
+#as: -32 -mips2 -mfpxx
+#source: attr-gnu-abi-fp-5.s
+#readelf: -A
+#name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_FP,5
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, Any FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, Any FPU\)
+ISA Extension: .*
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s
new file mode 100644
index 0000000..8d86130
--- /dev/null
+++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s
@@ -0,0 +1 @@
+.gnu_attribute Tag_GNU_MIPS_ABI_FP,5
diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d
new file mode 100644
index 0000000..ecb6fcd
--- /dev/null
+++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d
@@ -0,0 +1,21 @@
+#as: -32 -mips32r2 -mfp64
+#source: attr-gnu-abi-fp-6.s
+#readelf: -A
+#name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_FP,6
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: .*
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s
new file mode 100644
index 0000000..d0eefe4
--- /dev/null
+++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s
@@ -0,0 +1 @@
+.gnu_attribute Tag_GNU_MIPS_ABI_FP,6
diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d b/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d
index 97fc8bf..a4868af 100644
--- a/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d
+++ b/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d
@@ -4,7 +4,7 @@
Attribute Section: gnu
File Attributes
- Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+ Tag_GNU_MIPS_ABI_FP: Hard float \(.*\)
Tag_GNU_MIPS_ABI_MSA: 128-bit MSA
#...
diff --git a/gas/testsuite/gas/mips/branch-absolute-addend.d b/gas/testsuite/gas/mips/branch-absolute-addend.d
index df86846..8760db0 100644
--- a/gas/testsuite/gas/mips/branch-absolute-addend.d
+++ b/gas/testsuite/gas/mips/branch-absolute-addend.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch to absolute expression with addend
-#as: -32
+#as: -32 -mips2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-absolute.d b/gas/testsuite/gas/mips/branch-absolute.d
index 816c139..6199f17 100644
--- a/gas/testsuite/gas/mips/branch-absolute.d
+++ b/gas/testsuite/gas/mips/branch-absolute.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch to absolute expression
-#as: -32
+#as: -32 -mips2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-addend-micromips.d b/gas/testsuite/gas/mips/branch-addend-micromips.d
index 345d9df..9b3313f 100644
--- a/gas/testsuite/gas/mips/branch-addend-micromips.d
+++ b/gas/testsuite/gas/mips/branch-addend-micromips.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS BAL addend encoding
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-addend.d b/gas/testsuite/gas/mips/branch-addend.d
index ecee734..4f12717 100644
--- a/gas/testsuite/gas/mips/branch-addend.d
+++ b/gas/testsuite/gas/mips/branch-addend.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS BAL addend encoding
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-extern-2.d b/gas/testsuite/gas/mips/branch-extern-2.d
index 4c0078f..e12d3ca 100644
--- a/gas/testsuite/gas/mips/branch-extern-2.d
+++ b/gas/testsuite/gas/mips/branch-extern-2.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS branch to an external symbol
-#as: -32 -KPIC -mmicromips
+#as: -32 -KPIC -mips32r2 -mmicromips
#source: branch-extern.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-extern-4.d b/gas/testsuite/gas/mips/branch-extern-4.d
index 7aa7356..f76278d 100644
--- a/gas/testsuite/gas/mips/branch-extern-4.d
+++ b/gas/testsuite/gas/mips/branch-extern-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS relaxed branch to an external symbol
-#as: -32 -KPIC -mmicromips --relax-branch
+#as: -32 -KPIC -mips32r2 -mmicromips --relax-branch
#source: branch-extern.s
#warning_output: branch-extern.l
diff --git a/gas/testsuite/gas/mips/branch-local-1.d b/gas/testsuite/gas/mips/branch-local-1.d
index f85bb8d..f4d2f95 100644
--- a/gas/testsuite/gas/mips/branch-local-1.d
+++ b/gas/testsuite/gas/mips/branch-local-1.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch local symbol relocation 1
-#as: -32
+#as: -32 -mips32r2
#source: branch-local-1.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-local-2.d b/gas/testsuite/gas/mips/branch-local-2.d
index e115696..b8d34f7 100644
--- a/gas/testsuite/gas/mips/branch-local-2.d
+++ b/gas/testsuite/gas/mips/branch-local-2.d
@@ -1,3 +1,3 @@
#name: MIPS branch local symbol relocation 2
-#as: -32
+#as: -32 -mips32r2
#error_output: branch-local-2.l
diff --git a/gas/testsuite/gas/mips/branch-local-3.d b/gas/testsuite/gas/mips/branch-local-3.d
index 4dc3a59..06f9a76 100644
--- a/gas/testsuite/gas/mips/branch-local-3.d
+++ b/gas/testsuite/gas/mips/branch-local-3.d
@@ -1,3 +1,3 @@
#name: MIPS branch local symbol relocation 3
-#as: -32
+#as: -32 -mips32r2
#error_output: branch-local-3.l
diff --git a/gas/testsuite/gas/mips/branch-local-4.d b/gas/testsuite/gas/mips/branch-local-4.d
index cf5f8b3..7675dac 100644
--- a/gas/testsuite/gas/mips/branch-local-4.d
+++ b/gas/testsuite/gas/mips/branch-local-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch local symbol relocation 4
-#as: -32
+#as: -32 -mips32r2
#source: branch-local-4.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-local-5.d b/gas/testsuite/gas/mips/branch-local-5.d
index 252defb..1c43885 100644
--- a/gas/testsuite/gas/mips/branch-local-5.d
+++ b/gas/testsuite/gas/mips/branch-local-5.d
@@ -1,3 +1,3 @@
#name: MIPS branch local symbol relocation 5
-#as: -32
+#as: -32 -mips1
#error_output: branch-local-5.l
diff --git a/gas/testsuite/gas/mips/branch-local-6.d b/gas/testsuite/gas/mips/branch-local-6.d
index dd7c980..276ed3e 100644
--- a/gas/testsuite/gas/mips/branch-local-6.d
+++ b/gas/testsuite/gas/mips/branch-local-6.d
@@ -1,3 +1,3 @@
#name: MIPS branch local symbol relocation 6
-#as: -32
+#as: -32 -mips32r2
#error_output: branch-local-6.l
diff --git a/gas/testsuite/gas/mips/branch-local-7.d b/gas/testsuite/gas/mips/branch-local-7.d
index 0cc2a11..d490a7b 100644
--- a/gas/testsuite/gas/mips/branch-local-7.d
+++ b/gas/testsuite/gas/mips/branch-local-7.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch local symbol relocation 7
-#as: -32
+#as: -32 -mips32r2
#source: branch-local-7.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-local-ignore-2.d b/gas/testsuite/gas/mips/branch-local-ignore-2.d
index ddac741..6674a2d 100644
--- a/gas/testsuite/gas/mips/branch-local-ignore-2.d
+++ b/gas/testsuite/gas/mips/branch-local-ignore-2.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch local symbol relocation 2 (ignore branch ISA)
-#as: -32 -mignore-branch-isa
+#as: -32 -mips32r2 -mignore-branch-isa
#source: branch-local-2.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-local-ignore-3.d b/gas/testsuite/gas/mips/branch-local-ignore-3.d
index 918a2ce..433fc41 100644
--- a/gas/testsuite/gas/mips/branch-local-ignore-3.d
+++ b/gas/testsuite/gas/mips/branch-local-ignore-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa32r6
#name: MIPS branch local symbol relocation 3 (ignore branch ISA)
-#as: -32 -mignore-branch-isa
+#as: -32 -mips32r2 -mignore-branch-isa
#source: branch-local-3.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-local-ignore-5.d b/gas/testsuite/gas/mips/branch-local-ignore-5.d
index 94ffe19..3102ee5 100644
--- a/gas/testsuite/gas/mips/branch-local-ignore-5.d
+++ b/gas/testsuite/gas/mips/branch-local-ignore-5.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch local symbol relocation 5 (ignore branch ISA)
-#as: -32 -mignore-branch-isa
+#as: -32 -mips1 -mignore-branch-isa
#source: branch-local-5.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-local-ignore-6.d b/gas/testsuite/gas/mips/branch-local-ignore-6.d
index 1565688..71d110d 100644
--- a/gas/testsuite/gas/mips/branch-local-ignore-6.d
+++ b/gas/testsuite/gas/mips/branch-local-ignore-6.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch local symbol relocation 6 (ignore branch ISA)
-#as: -32 -mignore-branch-isa
+#as: -32 -mips32r2 -mignore-branch-isa
#source: branch-local-6.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-section-1.d b/gas/testsuite/gas/mips/branch-section-1.d
index 7782d0c..08c678d 100644
--- a/gas/testsuite/gas/mips/branch-section-1.d
+++ b/gas/testsuite/gas/mips/branch-section-1.d
@@ -12,6 +12,6 @@ Disassembly of section \.text:
\.\.\.
Disassembly of section \.init:
-[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
diff --git a/gas/testsuite/gas/mips/branch-section-2.d b/gas/testsuite/gas/mips/branch-section-2.d
index 6009fe5..caf092c 100644
--- a/gas/testsuite/gas/mips/branch-section-2.d
+++ b/gas/testsuite/gas/mips/branch-section-2.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS branch to a different section
-#as: -32 -mmicromips
+#as: -32 -mips32r2 -mmicromips
#source: branch-section.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-section-3.d b/gas/testsuite/gas/mips/branch-section-3.d
index b10fcde..d9072cb 100644
--- a/gas/testsuite/gas/mips/branch-section-3.d
+++ b/gas/testsuite/gas/mips/branch-section-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS relaxed branch to a different section
-#as: -32 --relax-branch
+#as: -32 -mips32r2 --relax-branch
#source: branch-section.s
#warning_output: branch-section.l
diff --git a/gas/testsuite/gas/mips/branch-section-4.d b/gas/testsuite/gas/mips/branch-section-4.d
index b6ad0bb..a831b6d 100644
--- a/gas/testsuite/gas/mips/branch-section-4.d
+++ b/gas/testsuite/gas/mips/branch-section-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS relaxed branch to a different section
-#as: -32 -mmicromips --relax-branch
+#as: -32 -mips32r2 -mmicromips --relax-branch
#source: branch-section.s
#warning_output: branch-section.l
diff --git a/gas/testsuite/gas/mips/branch-weak-1.d b/gas/testsuite/gas/mips/branch-weak-1.d
index 859a2ca..349b5d9 100644
--- a/gas/testsuite/gas/mips/branch-weak-1.d
+++ b/gas/testsuite/gas/mips/branch-weak-1.d
@@ -10,6 +10,6 @@ Disassembly of section \.text:
[ ]*[0-9a-f]+: R_MIPS_PC16 bar
[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
-[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
diff --git a/gas/testsuite/gas/mips/branch-weak-2.d b/gas/testsuite/gas/mips/branch-weak-2.d
index 61a10e0..a7fbcab 100644
--- a/gas/testsuite/gas/mips/branch-weak-2.d
+++ b/gas/testsuite/gas/mips/branch-weak-2.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS branch to a weak symbol
-#as: -32 -mmicromips --defsym align=12
+#as: -32 -mips32r2 -mmicromips --defsym align=12
#source: branch-weak.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-weak-3.d b/gas/testsuite/gas/mips/branch-weak-3.d
index 8e6e8cf..11ceade 100644
--- a/gas/testsuite/gas/mips/branch-weak-3.d
+++ b/gas/testsuite/gas/mips/branch-weak-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS relaxed branch to a weak symbol
-#as: -32 --relax-branch --defsym align=12
+#as: -32 -mips1 --relax-branch --defsym align=12
#source: branch-weak.s
#warning_output: branch-weak.l
diff --git a/gas/testsuite/gas/mips/branch-weak-4.d b/gas/testsuite/gas/mips/branch-weak-4.d
index d21e147..8cc1f51 100644
--- a/gas/testsuite/gas/mips/branch-weak-4.d
+++ b/gas/testsuite/gas/mips/branch-weak-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS relaxed branch to a weak symbol
-#as: -32 -mmicromips --relax-branch --defsym align=12
+#as: -32 -mips32r2 -mmicromips --relax-branch --defsym align=12
#source: branch-weak.s
#warning_output: branch-weak.l
diff --git a/gas/testsuite/gas/mips/branch-weak-5.d b/gas/testsuite/gas/mips/branch-weak-5.d
index 13d8bdf..67cd02b 100644
--- a/gas/testsuite/gas/mips/branch-weak-5.d
+++ b/gas/testsuite/gas/mips/branch-weak-5.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS short branch to a weak symbol
-#as: -32 -mmicromips --defsym align=4
+#as: -32 -mips32r2 -mmicromips --defsym align=4
#source: branch-weak.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-weak-6.d b/gas/testsuite/gas/mips/branch-weak-6.d
index e16b1b8..f7076a7 100644
--- a/gas/testsuite/gas/mips/branch-weak-6.d
+++ b/gas/testsuite/gas/mips/branch-weak-6.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch to a weak symbol
-#as: -32 -mips16 --defsym align=12
+#as: -32 -mips1 -mips16 --defsym align=12
#source: branch-weak.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/branch-weak-7.d b/gas/testsuite/gas/mips/branch-weak-7.d
index b291289..90743d4 100644
--- a/gas/testsuite/gas/mips/branch-weak-7.d
+++ b/gas/testsuite/gas/mips/branch-weak-7.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 short branch to a weak symbol
-#as: -32 -mips16 --defsym align=4
+#as: -32 -mips1 -mips16 --defsym align=4
#source: branch-weak.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/comdat-reloc-r6.d b/gas/testsuite/gas/mips/comdat-reloc-r6.d
new file mode 100644
index 0000000..513589e
--- /dev/null
+++ b/gas/testsuite/gas/mips/comdat-reloc-r6.d
@@ -0,0 +1,34 @@
+#readelf: -gr
+#name: MIPS ELF o32 PIC comdat GOT16/LO16 relocation pairing
+#as: -32 -mno-pdr -mips32r6
+#source: comdat-reloc.s
+
+# Make sure the orphan GOT16 relocation is paired with LO16 for a local
+# symbol in a comdat section, i.e. rather than this:
+#
+# 00000014 00000509 R_MIPS_GOT16 00000000 foo
+# 00000020 00000506 R_MIPS_LO16 00000000 foo
+# 0000001c 00000509 R_MIPS_GOT16 00000000 foo
+#
+# we have this:
+#
+# 00000014 00000509 R_MIPS_GOT16 00000000 foo
+# 00000024 00000509 R_MIPS_GOT16 00000000 foo
+# 0000001c 00000506 R_MIPS_LO16 00000000 foo
+
+#...
+COMDAT group section \[.....\] `\.group' \[bar\] contains .+ sections:
+ \[Index\] Name
+ \[.....\] \.text\.foo
+ \[.....\] \.text\.bar
+#...
+Relocation section '\.rel\.text\.bar' at offset .+ contains .+ entries:
+ Offset Info Type Sym\.Value Sym\. Name
+00000000 ......05 R_MIPS_HI16 00000000 _gp_disp
+00000004 ......06 R_MIPS_LO16 00000000 _gp_disp
+0000000c 0000070a R_MIPS_PC16 00000020 \.L1\^B1
+00000014 ......09 R_MIPS_GOT16 00000000 foo
+00000024 ......09 R_MIPS_GOT16 00000000 foo
+0000001c ......06 R_MIPS_LO16 00000000 foo
+00000020 0000080a R_MIPS_PC16 00000018 \.L0\^B1
+#pass
diff --git a/gas/testsuite/gas/mips/comdat-reloc.d b/gas/testsuite/gas/mips/comdat-reloc.d
index 12d092a..f9bc12f 100644
--- a/gas/testsuite/gas/mips/comdat-reloc.d
+++ b/gas/testsuite/gas/mips/comdat-reloc.d
@@ -1,6 +1,6 @@
#readelf: -gr
#name: MIPS ELF o32 PIC comdat GOT16/LO16 relocation pairing
-#as: -32 -mno-pdr
+#as: -32 -mno-pdr -mips1
# Make sure the orphan GOT16 relocation is paired with LO16 for a local
# symbol in a comdat section, i.e. rather than this:
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-1.d b/gas/testsuite/gas/mips/compact-eh-eb-1.d
index c412162..de88882 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-1.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-1.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EB #1 with personality ID and FDE data
#source: compact-eh-1.s
-#as: -EB -mno-pdr
+#as: -march=from-abi -EB -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-2.d b/gas/testsuite/gas/mips/compact-eh-eb-2.d
index e088586..e8d9f48 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-2.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-2.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EB #2 with personality routine and FDE data
#source: compact-eh-2.s
-#as: -EB -mno-pdr
+#as: -march=from-abi -EB -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-3.d b/gas/testsuite/gas/mips/compact-eh-eb-3.d
index 2f0e844..3a5345c 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-3.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-3.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EB #3 with personality id and large FDE data
#source: compact-eh-3.s
-#as: -EB -mno-pdr
+#as: -march=from-abi -EB -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-4.d b/gas/testsuite/gas/mips/compact-eh-eb-4.d
index 4ca4a24..a39ab45 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-4.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-4.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EB #4 with personality id, FDE data and LSDA
#source: compact-eh-4.s
-#as: -EB -mno-pdr
+#as: -march=from-abi -EB -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-5.d b/gas/testsuite/gas/mips/compact-eh-eb-5.d
index 298d283..bc56835 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-5.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-5.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EB #5 with personality routine, FDE data and LSDA
#source: compact-eh-5.s
-#as: -EB -mno-pdr
+#as: -march=from-abi -EB -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-6.d b/gas/testsuite/gas/mips/compact-eh-eb-6.d
index 3766ecb..a3d13c5 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-6.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-6.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EB #6 with personality id, LSDA and large FDE data
#source: compact-eh-6.s
-#as: -EB -mno-pdr
+#as: -march=from-abi -EB -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-7.d b/gas/testsuite/gas/mips/compact-eh-eb-7.d
index 8c89123..82da65c 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-7.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-7.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EB #7 with personality id and fallback FDE
#source: compact-eh-7.s
-#as: -EB -mno-pdr
+#as: -march=from-abi -EB -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-1.d b/gas/testsuite/gas/mips/compact-eh-el-1.d
index 7046dd4..d888712 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-1.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-1.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EL #1 with personality ID and FDE data
#source: compact-eh-1.s
-#as: -EL -mno-pdr
+#as: -march=from-abi -EL -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-2.d b/gas/testsuite/gas/mips/compact-eh-el-2.d
index 3573670..b589122 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-2.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-2.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EL #2 with personality routine and FDE data
#source: compact-eh-2.s
-#as: -EL -mno-pdr
+#as: -march=from-abi -EL -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-3.d b/gas/testsuite/gas/mips/compact-eh-el-3.d
index b426ec9..bffe577 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-3.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-3.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EL #3 with personality id and large FDE data
#source: compact-eh-3.s
-#as: -EL -mno-pdr
+#as: -march=from-abi -EL -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-4.d b/gas/testsuite/gas/mips/compact-eh-el-4.d
index 67d8592..85bc6d1 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-4.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-4.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EL #4 with personality id, FDE data and LSDA
#source: compact-eh-4.s
-#as: -EL -mno-pdr
+#as: -march=from-abi -EL -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-5.d b/gas/testsuite/gas/mips/compact-eh-el-5.d
index 623cc06..ffa93b6 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-5.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-5.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EL #5 with personality routine, FDE data and LSDA
#source: compact-eh-5.s
-#as: -EL -mno-pdr
+#as: -march=from-abi -EL -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-6.d b/gas/testsuite/gas/mips/compact-eh-el-6.d
index 7d5e2dd..3dc8fb9 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-6.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-6.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EL #6 with personality id, LSDA and large FDE data
#source: compact-eh-6.s
-#as: -EL -mno-pdr
+#as: -march=from-abi -EL -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-7.d b/gas/testsuite/gas/mips/compact-eh-el-7.d
index 7296c60..626f84c 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-7.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-7.d
@@ -1,7 +1,7 @@
#objdump: -sr
#name: Compact EH EL #7 with personality id and fallback FDE
#source: compact-eh-7.s
-#as: -EL -mno-pdr
+#as: -march=from-abi -EL -mno-pdr
.*: file format.*
diff --git a/gas/testsuite/gas/mips/elf-rel.d b/gas/testsuite/gas/mips/elf-rel.d
index bb7077e..27d3d88 100644
--- a/gas/testsuite/gas/mips/elf-rel.d
+++ b/gas/testsuite/gas/mips/elf-rel.d
@@ -48,12 +48,12 @@ OFFSET +TYPE +VALUE
Contents of section \.text:
0000 3c010000 3c010000 3c010001 3c010001 .*
- 0010 3c010000 3c010001 20210018 2021001c .*
- 0020 20210018 2021001c 20218018 2021fffc .*
+ 0010 3c010000 3c010001 24210018 2421001c .*
+ 0020 24210018 2421001c 24218018 2421fffc .*
0030 3c010001 3c010001 3c010002 3c010002 .*
- 0040 3c010001 3c010001 2021bffe 2021c002 .*
- 0050 2021bffe 2021c002 20213ffe 2021bffa .*
+ 0040 3c010001 3c010001 2421bffe 2421c002 .*
+ 0050 2421bffe 2421c002 24213ffe 2421bffa .*
0060 3c010001 3c010001 3c010002 3c010002 .*
- 0070 3c010001 3c010001 2021bffe 2021c002 .*
- 0080 2021bffe 2021c002 20213ffe 2021bffa .*
+ 0070 3c010001 3c010001 2421bffe 2421c002 .*
+ 0080 2421bffe 2421c002 24213ffe 2421bffa .*
#pass
diff --git a/gas/testsuite/gas/mips/elf-rel.s b/gas/testsuite/gas/mips/elf-rel.s
index 873bc5f..06c67a6 100644
--- a/gas/testsuite/gas/mips/elf-rel.s
+++ b/gas/testsuite/gas/mips/elf-rel.s
@@ -12,12 +12,12 @@ l2 = l0+49150
lui $at,%hi(l0-4)
lui $at,%hi(l1+0x8000)
l1:
- addi $at,$at,%lo(l1)
- addi $at,$at,%lo(l1+0x10004)
- addi $at,$at,%lo(l1+0x10000)
- addi $at,$at,%lo(l1+4)
- addi $at,$at,%lo(l1+0x8000)
- addi $at,$at,%lo(l0-4)
+ addiu $at,$at,%lo(l1)
+ addiu $at,$at,%lo(l1+0x10004)
+ addiu $at,$at,%lo(l1+0x10000)
+ addiu $at,$at,%lo(l1+4)
+ addiu $at,$at,%lo(l1+0x8000)
+ addiu $at,$at,%lo(l0-4)
lui $at,%hi(l2)
lui $at,%hi(l2+4)
@@ -25,12 +25,12 @@ l1:
lui $at,%hi(l2+0x10004)
lui $at,%hi(l2-4)
lui $at,%hi(l2+0x8000)
- addi $at,$at,%lo(l2)
- addi $at,$at,%lo(l2+4)
- addi $at,$at,%lo(l2+0x10000)
- addi $at,$at,%lo(l2+0x10004)
- addi $at,$at,%lo(l2+0x8000)
- addi $at,$at,%lo(l2-4)
+ addiu $at,$at,%lo(l2)
+ addiu $at,$at,%lo(l2+4)
+ addiu $at,$at,%lo(l2+0x10000)
+ addiu $at,$at,%lo(l2+0x10004)
+ addiu $at,$at,%lo(l2+0x8000)
+ addiu $at,$at,%lo(l2-4)
lui $at,%hi((l2))
lui $at,%hi(((l2+4)))
@@ -38,9 +38,9 @@ l1:
lui $at,%hi(((((l2+0x10004)))))
lui $at,%hi((((((l2-4))))))
lui $at,%hi(((((((l2+0x8000)))))))
- addi $at,$at,%lo((l2))
- addi $at,$at,%lo(((l2+4)))
- addi $at,$at,%lo((((l2+0x10000))))
- addi $at,$at,%lo(((((l2+0x10004)))))
- addi $at,$at,%lo((((((l2+0x8000))))))
- addi $at,$at,%lo(((((((l2-4)))))))
+ addiu $at,$at,%lo((l2))
+ addiu $at,$at,%lo(((l2+4)))
+ addiu $at,$at,%lo((((l2+0x10000))))
+ addiu $at,$at,%lo(((((l2+0x10004)))))
+ addiu $at,$at,%lo((((((l2+0x8000))))))
+ addiu $at,$at,%lo(((((((l2-4)))))))
diff --git a/gas/testsuite/gas/mips/elf-rel6.d b/gas/testsuite/gas/mips/elf-rel6.d
index cea8d7f..4918344 100644
--- a/gas/testsuite/gas/mips/elf-rel6.d
+++ b/gas/testsuite/gas/mips/elf-rel6.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses
#name: MIPS ELF reloc 6
-#as: -32
+#as: -32 -mips1
.*: +file format elf.*mips.*
diff --git a/gas/testsuite/gas/mips/elf_ase_micromips-2.d b/gas/testsuite/gas/mips/elf_ase_micromips-2.d
index 0eab856..b7c3837 100644
--- a/gas/testsuite/gas/mips/elf_ase_micromips-2.d
+++ b/gas/testsuite/gas/mips/elf_ase_micromips-2.d
@@ -1,7 +1,7 @@
# name: ELF microMIPS ASE markings 2
# source: nop.s
# objdump: -p
-# as: -32 -mmicromips
+# as: -32 -mips32r2 -mmicromips
.*:.*file format.*mips.*
private flags = [0-9a-f]*[2367abef]......: .*[[,]micromips[],].*
diff --git a/gas/testsuite/gas/mips/elf_ase_micromips.d b/gas/testsuite/gas/mips/elf_ase_micromips.d
index 507e270..9afc1f3 100644
--- a/gas/testsuite/gas/mips/elf_ase_micromips.d
+++ b/gas/testsuite/gas/mips/elf_ase_micromips.d
@@ -1,7 +1,7 @@
# name: ELF microMIPS ASE markings
# source: empty.s
# objdump: -p
-# as: -32 -mmicromips
+# as: -32 -mips32r2 -mmicromips
.*:.*file format.*mips.*
!private flags = .*micromips.*
diff --git a/gas/testsuite/gas/mips/elf_ase_mips16-2.d b/gas/testsuite/gas/mips/elf_ase_mips16-2.d
index d19a07d..bedf56c 100644
--- a/gas/testsuite/gas/mips/elf_ase_mips16-2.d
+++ b/gas/testsuite/gas/mips/elf_ase_mips16-2.d
@@ -1,7 +1,7 @@
# name: ELF MIPS16 ASE markings 2
# source: nop.s
# objdump: -p
-# as: -32 -mips16
+# as: -32 -mips1 -mips16
.*:.*file format.*mips.*
private flags = [0-9a-f]*[4-7c-f]......: .*[[,]mips16[],].*
diff --git a/gas/testsuite/gas/mips/elf_ase_mips16.d b/gas/testsuite/gas/mips/elf_ase_mips16.d
index 20e0d8a..1b9c24a 100644
--- a/gas/testsuite/gas/mips/elf_ase_mips16.d
+++ b/gas/testsuite/gas/mips/elf_ase_mips16.d
@@ -1,7 +1,7 @@
# name: ELF MIPS16 ASE markings
# source: empty.s
# objdump: -p
-# as: -32 -mips16
+# as: -32 -mips1 -mips16
.*:.*file format.*mips.*
!private flags = .*mips16.*
diff --git a/gas/testsuite/gas/mips/elfel-rel.d b/gas/testsuite/gas/mips/elfel-rel.d
index 7a9a3b9..11fc7ad 100644
--- a/gas/testsuite/gas/mips/elfel-rel.d
+++ b/gas/testsuite/gas/mips/elfel-rel.d
@@ -49,12 +49,12 @@ OFFSET +TYPE +VALUE
Contents of section \.text:
0000 0000013c 0000013c 0100013c 0100013c .*
- 0010 0000013c 0100013c 18002120 1c002120 .*
- 0020 18002120 1c002120 18802120 fcff2120 .*
+ 0010 0000013c 0100013c 18002124 1c002124 .*
+ 0020 18002124 1c002124 18802124 fcff2124 .*
0030 0100013c 0100013c 0200013c 0200013c .*
- 0040 0100013c 0100013c febf2120 02c02120 .*
- 0050 febf2120 02c02120 fe3f2120 fabf2120 .*
+ 0040 0100013c 0100013c febf2124 02c02124 .*
+ 0050 febf2124 02c02124 fe3f2124 fabf2124 .*
0060 0100013c 0100013c 0200013c 0200013c .*
- 0070 0100013c 0100013c febf2120 02c02120 .*
- 0080 febf2120 02c02120 fe3f2120 fabf2120 .*
+ 0070 0100013c 0100013c febf2124 02c02124 .*
+ 0080 febf2124 02c02124 fe3f2124 fabf2124 .*
#pass
diff --git a/gas/testsuite/gas/mips/insn-isa-mode.d b/gas/testsuite/gas/mips/insn-isa-mode.d
index 9d2c61b..6307ae5 100644
--- a/gas/testsuite/gas/mips/insn-isa-mode.d
+++ b/gas/testsuite/gas/mips/insn-isa-mode.d
@@ -1,6 +1,6 @@
#objdump: -dr --show-raw-insn
#name: microMIPS ISA mode for .insn label references
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/insn-opts.d b/gas/testsuite/gas/mips/insn-opts.d
index a61c95e..2466397 100644
--- a/gas/testsuite/gas/mips/insn-opts.d
+++ b/gas/testsuite/gas/mips/insn-opts.d
@@ -1,5 +1,6 @@
#objdump: -dtz -j .text --prefix-addresses --show-raw-insn
#name: MIPS .insn default file options
+#as: -march=from-abi
# Check that .insn at the beginning of assembly sees default file options
# such as the ISA mode right.
diff --git a/gas/testsuite/gas/mips/jalx-addend.d b/gas/testsuite/gas/mips/jalx-addend.d
index 442bc69..a022eaf 100644
--- a/gas/testsuite/gas/mips/jalx-addend.d
+++ b/gas/testsuite/gas/mips/jalx-addend.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS JAL/JALX addend encoding
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/jalx-imm.d b/gas/testsuite/gas/mips/jalx-imm.d
index aa487ff..4d265b5 100644
--- a/gas/testsuite/gas/mips/jalx-imm.d
+++ b/gas/testsuite/gas/mips/jalx-imm.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS JAL/JALX immediate operand encoding
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/jalx-local.d b/gas/testsuite/gas/mips/jalx-local.d
index e380160..65bb9f8 100644
--- a/gas/testsuite/gas/mips/jalx-local.d
+++ b/gas/testsuite/gas/mips/jalx-local.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS JALX local symbol relocation
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/loongson-2f-3.d b/gas/testsuite/gas/mips/loongson-2f-3.d
index 9063df1..5269bcc 100644
--- a/gas/testsuite/gas/mips/loongson-2f-3.d
+++ b/gas/testsuite/gas/mips/loongson-2f-3.d
@@ -1,4 +1,4 @@
-#as: -mfix-loongson2f-jump
+#as: -march=loongson2f -mfix-loongson2f-jump
#objdump: -M reg-names=numeric -dr
#name: ST Microelectronics Loongson-2F workarounds of Jump Instruction issue
diff --git a/gas/testsuite/gas/mips/micromips-b16.d b/gas/testsuite/gas/mips/micromips-b16.d
index 16e8a7a..e066189 100644
--- a/gas/testsuite/gas/mips/micromips-b16.d
+++ b/gas/testsuite/gas/mips/micromips-b16.d
@@ -1,6 +1,6 @@
#objdump: -dr --show-raw-insn
#name: microMIPS b16, bnez16, beqz16
-#as: -32 -mmicromips
+#as: -32 -mmicromips -mips32r2
#source: micromips-b16.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d b/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d
index fd224b5..3f6e336 100644
--- a/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d
+++ b/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS branch to absolute expression with addend
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/micromips-branch-absolute.d b/gas/testsuite/gas/mips/micromips-branch-absolute.d
index 7fc6b9a..7332872 100644
--- a/gas/testsuite/gas/mips/micromips-branch-absolute.d
+++ b/gas/testsuite/gas/mips/micromips-branch-absolute.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS branch to absolute expression
-#as: -32
+#as: -32 -mips32r2
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d b/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d
index b2d820e..43a5cca 100644
--- a/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d
+++ b/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: microMIPS fixed-size branch delay slots 1
-#as: -32 -mmicromips
+#as: -32 -mmicromips -mips32r2
#source: micromips-warn-branch-delay-1.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/micromips-warn-branch-delay.d b/gas/testsuite/gas/mips/micromips-warn-branch-delay.d
index c30edc6..44fffda 100644
--- a/gas/testsuite/gas/mips/micromips-warn-branch-delay.d
+++ b/gas/testsuite/gas/mips/micromips-warn-branch-delay.d
@@ -1,6 +1,6 @@
#objdump: -dr --show-raw-insn -M gpr-names=numeric
#name: microMIPS fixed-size branch delay slots
-#as: -mmicromips
+#as: -mmicromips -march=from-abi
#source: micromips-warn-branch-delay.s
#warning_output: micromips-warn-branch-delay.l
diff --git a/gas/testsuite/gas/mips/mips-jalx-2.d b/gas/testsuite/gas/mips/mips-jalx-2.d
index fa8bfac..2cc1323 100644
--- a/gas/testsuite/gas/mips/mips-jalx-2.d
+++ b/gas/testsuite/gas/mips/mips-jalx-2.d
@@ -1,5 +1,5 @@
#objdump: -d
-#as:
+#as: -march=from-abi
#name: mips jalx-2
.*: file format .*
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index 17eb95f..7f964ed 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -296,7 +296,15 @@ proc mips_arch_list_matching {args} {
continue
}
if { [mips_arch_matches $arch $args] } {
- lappend l $arch
+ # If the triple is mipsisa32*/mipsisa64*, we skip the 'default'
+ # Since it will always run.
+ if { [string compare $arch default] == 0 && [istarget mipsisa32*-*] } {
+ continue
+ } elseif { [string compare $arch default] == 0 && [istarget mipsisa64*-*] } {
+ continue
+ } else {
+ lappend l $arch
+ }
}
}
return $l
@@ -556,7 +564,8 @@ if { [istarget mips*-*-vxworks*] } {
"MIPS invalid switch to SVR4 PIC from VxWorks PIC"
} elseif { [istarget mips*-*-*] } {
set addr32 [expr [istarget mipstx39*-*-*] || [istarget mips-*-linux*] || [istarget mipsel-*-linux*] \
- || [istarget mipsisa32*-*-linux*] || [istarget mipsisa32*el-*-linux*]]
+ || [istarget mipsisa32*-*-linux*] || [istarget mipsisa32*el-*-linux*] \
+ || [istarget mips-*-elf] || [istarget mipsel-*-elf]]
set has_newabi [expr [istarget *-*-irix6*] || [istarget mips*-*-linux*] \
|| [istarget mips*-sde-elf*] || [istarget mips*-mti-elf*] \
|| [istarget mips*-img-elf*]]
@@ -621,7 +630,7 @@ if { [istarget mips*-*-vxworks*] } {
# we use and some space will have been already consumed. The exact
# amount depends on the host's programming model.
for { set count 960 } { $count <= 1024 } { incr count } {
- run_list_test "branch-swap-2" "--defsym count=$count" \
+ run_list_test "branch-swap-2" "-march=from-abi --defsym count=$count" \
"MIPS branch swapping ($count)"
}
@@ -712,8 +721,8 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "compact-eh-el-5"
run_dump_test "compact-eh-el-6"
run_dump_test "compact-eh-el-7"
- run_list_test "compact-eh-err1"
- run_list_test "compact-eh-err2"
+ run_list_test "compact-eh-err1" "-march=from-abi"
+ run_list_test "compact-eh-err2" "-march=from-abi"
run_dump_test "div"
@@ -950,30 +959,30 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "jalx-local-n64"
}
- run_list_test "unaligned-jump-1" "-32" \
+ run_list_test "unaligned-jump-1" "-32 -mips32r2" \
"MIPS jump to unaligned symbol 1"
- run_list_test "unaligned-jump-2" "-32" \
+ run_list_test "unaligned-jump-2" "-32 -mips32r2" \
"MIPS jump to unaligned symbol 2"
if $has_newabi {
run_dump_test "unaligned-jump-3"
}
- run_list_test "unaligned-jump-mips16-1" "-32" \
+ run_list_test "unaligned-jump-mips16-1" "-32 -mips1" \
"MIPS16 jump to unaligned symbol 1"
- run_list_test "unaligned-jump-mips16-2" "-32" \
+ run_list_test "unaligned-jump-mips16-2" "-32 -mips1" \
"MIPS16 jump to unaligned symbol 2"
if $has_newabi {
run_dump_test "unaligned-jump-mips16-3"
}
- run_list_test "unaligned-jump-micromips-1" "-32" \
+ run_list_test "unaligned-jump-micromips-1" "-32 -mips32r2" \
"microMIPS jump to unaligned symbol 1"
- run_list_test "unaligned-jump-micromips-2" "-32" \
+ run_list_test "unaligned-jump-micromips-2" "-32 -mips32r2" \
"microMIPS jump to unaligned symbol 2"
if $has_newabi {
run_dump_test "unaligned-jump-micromips-3"
}
- run_list_test "unaligned-branch-1" "-32" \
+ run_list_test "unaligned-branch-1" "-32 -mips32r2" \
"MIPS branch to unaligned symbol 1"
- run_list_test "unaligned-branch-2" "-32" \
+ run_list_test "unaligned-branch-2" "-32 -mips32r2" \
"MIPS branch to unaligned symbol 2"
if $has_newabi {
run_dump_test "unaligned-branch-3"
@@ -990,16 +999,16 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "unaligned-branch-r6-5"
run_dump_test "unaligned-branch-r6-6"
}
- run_list_test "unaligned-branch-mips16-1" "-32" \
+ run_list_test "unaligned-branch-mips16-1" "-32 -mips1" \
"MIPS16 branch to unaligned symbol 1"
- run_list_test "unaligned-branch-mips16-2" "-32" \
+ run_list_test "unaligned-branch-mips16-2" "-32 -mips1" \
"MIPS16 branch to unaligned symbol 2"
if $has_newabi {
run_dump_test "unaligned-branch-mips16-3"
}
- run_list_test "unaligned-branch-micromips-1" "-32" \
+ run_list_test "unaligned-branch-micromips-1" "-32 -mips32r2" \
"microMIPS branch to unaligned symbol 1"
- run_list_test "unaligned-branch-micromips-2" "-32" \
+ run_list_test "unaligned-branch-micromips-2" "-32 -mips32r2" \
"microMIPS branch to unaligned symbol 2"
if $has_newabi {
run_dump_test "unaligned-branch-micromips-3"
@@ -1104,7 +1113,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test_arches "eva" [mips_arch_list_matching mips32r2 !octeon]
- run_list_test "illegal" "-32"
+ run_list_test "illegal" "-32 -mips1"
run_list_test "baddata1" "-32"
run_list_test "jalr" ""
@@ -1238,6 +1247,7 @@ if { [istarget mips*-*-vxworks*] } {
run_list_test_arches "elf-rel30" "-32" [mips_arch_list_all]
run_dump_test "comdat-reloc"
+ run_dump_test "comdat-reloc-r6"
run_dump_test "${tmips}mips${el}16-e"
run_dump_test "${tmips}mips${el}16-f"
@@ -1592,7 +1602,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "micromips-branch-absolute-addend-n64"
}
run_dump_test "micromips-b16"
- run_list_test "micromips-ill"
+ run_list_test "micromips-ill" "-march=from-abi"
run_dump_test_arches "mcu" [mips_arch_list_matching mips32r2 \
!octeon]
@@ -1646,7 +1656,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test_arches "ulh-reloc" [mips_arch_list_matching mips2 !mips32r6]
run_dump_test "l_d-reloc"
- run_list_test "bltzal"
+ run_list_test "bltzal" "-march=from-abi"
run_dump_test_arches "msa" [mips_arch_list_matching mips32r2]
if { $has_newabi } {
@@ -1680,7 +1690,7 @@ if { [istarget mips*-*-vxworks*] } {
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" \
+ run_list_test "pcrel-reloc-6" "-32 --defsym offset=4 -mips1" \
"MIPS local PC-relative relocations 6b"
run_dump_test_arches "mips16-pcrel-0" [mips_arch_list_matching mips16-32]
@@ -2041,14 +2051,16 @@ if { [istarget mips*-*-vxworks*] } {
[mips_arch_list_matching mips32r2]
run_dump_test "attr-gnu-abi-fp-1"
+ run_dump_test "attr-gnu-abi-fp-5"
+ run_dump_test "attr-gnu-abi-fp-6"
run_dump_test "attr-gnu-abi-msa-1"
run_dump_test "module-override"
run_dump_test "module-defer-warn1"
run_list_test "module-defer-warn2" "-32 -mips1"
- foreach testopt [list -mfp32 -mfpxx -mfp64 "-mfp64-noodd" \
- -msingle-float -msoft-float] {
+ foreach testopt [list -mfp32 -mfpxx -mfp64 "-mfp64-noodd" -mfp64r6 "-mfp64r6-noodd" \
+ -msingle-float -msoft-float -msoft-float-r6] {
foreach cmdopt [list -mfp32 -mfpxx -mfp64 "-mfp64 -mno-odd-spreg" \
-msingle-float -msoft-float] {
run_dump_test "module${testopt}" \
diff --git a/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d b/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d
index d352a79..9859f12 100644
--- a/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d
+++ b/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 absolute relocation 0
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d b/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d
index 4f00861..45d3a1b 100644
--- a/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d
+++ b/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d
@@ -1,3 +1,3 @@
#name: MIPS16 absolute relocation 2
-#as: -32
+#as: -32 -mips1
#error_output: mips16-absolute-reloc-2.l
diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-1.d b/gas/testsuite/gas/mips/mips16-branch-absolute-1.d
index ed0b9f9..023c4fe 100644
--- a/gas/testsuite/gas/mips/mips16-branch-absolute-1.d
+++ b/gas/testsuite/gas/mips/mips16-branch-absolute-1.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch to absolute expression 1
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-2.d b/gas/testsuite/gas/mips/mips16-branch-absolute-2.d
index 49a331f..be0d7c0 100644
--- a/gas/testsuite/gas/mips/mips16-branch-absolute-2.d
+++ b/gas/testsuite/gas/mips/mips16-branch-absolute-2.d
@@ -1,4 +1,4 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch to absolute expression 2
-#as: -32
+#as: -32 -mips1
#dump: mips16-branch-absolute-1.d
diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d b/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d
index 66841c3..74e9782 100644
--- a/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d
+++ b/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d
@@ -1,4 +1,4 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch to absolute expression with addend 1
-#as: -32
+#as: -32 -mips1
#dump: mips16-branch-absolute-1.d
diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d b/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d
index de64afb..3aa1e26 100644
--- a/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d
+++ b/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch to absolute expression with addend
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute.d b/gas/testsuite/gas/mips/mips16-branch-absolute.d
index 68b3fb4..bad4676 100644
--- a/gas/testsuite/gas/mips/mips16-branch-absolute.d
+++ b/gas/testsuite/gas/mips/mips16-branch-absolute.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch to absolute expression
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-0.d b/gas/testsuite/gas/mips/mips16-branch-addend-0.d
index 9fe83e4..aef3b30 100644
--- a/gas/testsuite/gas/mips/mips16-branch-addend-0.d
+++ b/gas/testsuite/gas/mips/mips16-branch-addend-0.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation with addend 0
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-1.d b/gas/testsuite/gas/mips/mips16-branch-addend-1.d
index b7b3054..884593c 100644
--- a/gas/testsuite/gas/mips/mips16-branch-addend-1.d
+++ b/gas/testsuite/gas/mips/mips16-branch-addend-1.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation with addend 1
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-2.d b/gas/testsuite/gas/mips/mips16-branch-addend-2.d
index 3e61c24..0b9f5c7 100644
--- a/gas/testsuite/gas/mips/mips16-branch-addend-2.d
+++ b/gas/testsuite/gas/mips/mips16-branch-addend-2.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation with addend 2
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-3.d b/gas/testsuite/gas/mips/mips16-branch-addend-3.d
index f3ecb75..aacaf41 100644
--- a/gas/testsuite/gas/mips/mips16-branch-addend-3.d
+++ b/gas/testsuite/gas/mips/mips16-branch-addend-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation with addend 3
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-4.d b/gas/testsuite/gas/mips/mips16-branch-addend-4.d
index 273a6e1..cee2aa0 100644
--- a/gas/testsuite/gas/mips/mips16-branch-addend-4.d
+++ b/gas/testsuite/gas/mips/mips16-branch-addend-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation with addend 4
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-5.d b/gas/testsuite/gas/mips/mips16-branch-addend-5.d
index 6b92235..e3c79a4 100644
--- a/gas/testsuite/gas/mips/mips16-branch-addend-5.d
+++ b/gas/testsuite/gas/mips/mips16-branch-addend-5.d
@@ -1,4 +1,4 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation with addend 5
-#as: -32
+#as: -32 -mips1
#error_output: mips16-branch-addend-5.l
diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-0.d b/gas/testsuite/gas/mips/mips16-branch-reloc-0.d
index 80ad83b..79685d0 100644
--- a/gas/testsuite/gas/mips/mips16-branch-reloc-0.d
+++ b/gas/testsuite/gas/mips/mips16-branch-reloc-0.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation 0
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-1.d b/gas/testsuite/gas/mips/mips16-branch-reloc-1.d
index d2ae8a7..e4eb5d6 100644
--- a/gas/testsuite/gas/mips/mips16-branch-reloc-1.d
+++ b/gas/testsuite/gas/mips/mips16-branch-reloc-1.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation 1
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-2.d b/gas/testsuite/gas/mips/mips16-branch-reloc-2.d
index 4f920d2..ada2644 100644
--- a/gas/testsuite/gas/mips/mips16-branch-reloc-2.d
+++ b/gas/testsuite/gas/mips/mips16-branch-reloc-2.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation 2
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-3.d b/gas/testsuite/gas/mips/mips16-branch-reloc-3.d
index c8e75fb..9b54bb7 100644
--- a/gas/testsuite/gas/mips/mips16-branch-reloc-3.d
+++ b/gas/testsuite/gas/mips/mips16-branch-reloc-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation 3
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-4.d b/gas/testsuite/gas/mips/mips16-branch-reloc-4.d
index a2705f0..5d17b26 100644
--- a/gas/testsuite/gas/mips/mips16-branch-reloc-4.d
+++ b/gas/testsuite/gas/mips/mips16-branch-reloc-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation 4
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-5.d b/gas/testsuite/gas/mips/mips16-branch-reloc-5.d
index 6cd7ebb..bd02ac2 100644
--- a/gas/testsuite/gas/mips/mips16-branch-reloc-5.d
+++ b/gas/testsuite/gas/mips/mips16-branch-reloc-5.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 branch relocation 5
-#as: -32
+#as: -32 -mips1
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-branch-unextended-1.d b/gas/testsuite/gas/mips/mips16-branch-unextended-1.d
index a398156..a77ed15 100644
--- a/gas/testsuite/gas/mips/mips16-branch-unextended-1.d
+++ b/gas/testsuite/gas/mips/mips16-branch-unextended-1.d
@@ -1,3 +1,3 @@
#name: MIPS16 unextended branch instructions with relocation 1
-#as: -32
+#as: -32 -mips32
#error_output: mips16-branch-unextended.l
diff --git a/gas/testsuite/gas/mips/mips16-branch-unextended-2.d b/gas/testsuite/gas/mips/mips16-branch-unextended-2.d
index 008bfb1..8d760bc 100644
--- a/gas/testsuite/gas/mips/mips16-branch-unextended-2.d
+++ b/gas/testsuite/gas/mips/mips16-branch-unextended-2.d
@@ -1,3 +1,3 @@
#name: MIPS16 unextended branch instructions with relocation 2
-#as: -32
+#as: -32 -mips32
#error_output: mips16-branch-unextended.l
diff --git a/gas/testsuite/gas/mips/mips16-dwarf2.d b/gas/testsuite/gas/mips/mips16-dwarf2.d
index 6b79dac..eb609fa 100644
--- a/gas/testsuite/gas/mips/mips16-dwarf2.d
+++ b/gas/testsuite/gas/mips/mips16-dwarf2.d
@@ -1,6 +1,6 @@
#readelf: -r -wl
#name: MIPS16 DWARF2
-#as: -mabi=32 -mips16 -no-mdebug -g0
+#as: -mabi=32 -mips16 -no-mdebug -g0 -mips32
#source: mips16-dwarf2.s
Relocation section '\.rel\.debug_info' at offset .* contains 4 entries:
diff --git a/gas/testsuite/gas/mips/mips16-e.d b/gas/testsuite/gas/mips/mips16-e.d
index d64b882..d4522d6 100644
--- a/gas/testsuite/gas/mips/mips16-e.d
+++ b/gas/testsuite/gas/mips/mips16-e.d
@@ -1,6 +1,6 @@
#objdump: -rst --special-syms -mips16
#name: MIPS16 reloc
-#as: -32 -mips16
+#as: -32 -mips16 -mips32
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/mips16-extend.d b/gas/testsuite/gas/mips/mips16-extend.d
index eec0b19..def16c9 100644
--- a/gas/testsuite/gas/mips/mips16-extend.d
+++ b/gas/testsuite/gas/mips/mips16-extend.d
@@ -1,6 +1,6 @@
#objdump: -d --prefix-addresses --show-raw-insn
#name: MIPS16 explicit EXTEND encoding
-#as: -32
+#as: -32 -mips32
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-f.d b/gas/testsuite/gas/mips/mips16-f.d
index 9605b6f..62e30a3 100644
--- a/gas/testsuite/gas/mips/mips16-f.d
+++ b/gas/testsuite/gas/mips/mips16-f.d
@@ -1,6 +1,6 @@
#objdump: -rst -mips16
#name: MIPS16 reloc 2
-#as: -32 -mips16
+#as: -32 -mips16 -mips32
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/mips16-hilo.d b/gas/testsuite/gas/mips/mips16-hilo.d
index 081993a..2eabee7 100644
--- a/gas/testsuite/gas/mips/mips16-hilo.d
+++ b/gas/testsuite/gas/mips/mips16-hilo.d
@@ -1,6 +1,6 @@
#objdump: -dr
#name: MIPS16 lui/addi
-#as: -mips16 -mabi=32
+#as: -mips16 -mabi=32 -mips32
#source: mips16-hilo.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-insn-length-noargs.d b/gas/testsuite/gas/mips/mips16-insn-length-noargs.d
index 1804795..6f550f4 100644
--- a/gas/testsuite/gas/mips/mips16-insn-length-noargs.d
+++ b/gas/testsuite/gas/mips/mips16-insn-length-noargs.d
@@ -1,6 +1,6 @@
#objdump: -d --prefix-addresses --show-raw-insn
#name: MIPS16 argumentless instruction size override
-#as: -32
+#as: -32 -mips32
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-jal-e.d b/gas/testsuite/gas/mips/mips16-jal-e.d
index bbccb7c..0819742 100644
--- a/gas/testsuite/gas/mips/mips16-jal-e.d
+++ b/gas/testsuite/gas/mips/mips16-jal-e.d
@@ -1,6 +1,6 @@
#objdump: -d --prefix-addresses --show-raw-insn
#name: MIPS16 explicit extended JAL instructions
-#as: -32
+#as: -32 -mips32
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/mips16-jal-t.d b/gas/testsuite/gas/mips/mips16-jal-t.d
index adb9856..d5b71de 100644
--- a/gas/testsuite/gas/mips/mips16-jal-t.d
+++ b/gas/testsuite/gas/mips/mips16-jal-t.d
@@ -1,3 +1,3 @@
#name: MIPS16 explicit unextended JAL instructions
-#as: -32
+#as: -32 -mips32
#error_output: mips16-jal-t.l
diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d
index 55d15e1..a4cd8ca 100644
--- a/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d
+++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 PC-relative relaxation 0
-#as: -32
+#as: -32 -mips1
# Check that PC-relative relaxation does not go into oscillation
# where the address referred depends on the size of the instruction;
diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d
index 1b19d45..9b263da 100644
--- a/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d
+++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 PC-relative relaxation 1
-#as: -32 --defsym align=1
+#as: -32 -mips1 --defsym align=1
#source: mips16-pcrel-relax-0.s
# Check that PC-relative relaxation chooses the short encoding
diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d
index 6c3b4fe..0b3b5c1 100644
--- a/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d
+++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 PC-relative relaxation 2
-#as: -32
+#as: -32 -mips1
# Check that PC-relative relaxation does not go into oscillation
# where the address referred depends on the size of the instruction;
diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d
index 2d0c6ca..337a886 100644
--- a/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d
+++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 PC-relative relaxation 3
-#as: -32 --defsym align=1
+#as: -32 -mips1 --defsym align=1
#source: mips16-pcrel-relax-2.s
# Check that PC-relative relaxation chooses the short encoding
diff --git a/gas/testsuite/gas/mips/mips16-vis-1.d b/gas/testsuite/gas/mips/mips16-vis-1.d
index 90a190a..594305c 100644
--- a/gas/testsuite/gas/mips/mips16-vis-1.d
+++ b/gas/testsuite/gas/mips/mips16-vis-1.d
@@ -1,3 +1,4 @@
# readelf: --symbols
+# as: -march=from-abi
#...
.*: 0+0 +2 +FUNC +GLOBAL +HIDDEN +\[MIPS16\] +[0-9]+ foo
diff --git a/gas/testsuite/gas/mips/mipsel16-e.d b/gas/testsuite/gas/mips/mipsel16-e.d
index 2e4e841..266b221 100644
--- a/gas/testsuite/gas/mips/mipsel16-e.d
+++ b/gas/testsuite/gas/mips/mipsel16-e.d
@@ -1,6 +1,6 @@
#objdump: -rst --special-syms -mips16
#name: MIPS16 reloc
-#as: -32 -mips16
+#as: -32 -mips1 -mips16
#source: mips16-e.s
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/mipsel16-f.d b/gas/testsuite/gas/mips/mipsel16-f.d
index 57db1a7..dbce3b0 100644
--- a/gas/testsuite/gas/mips/mipsel16-f.d
+++ b/gas/testsuite/gas/mips/mipsel16-f.d
@@ -1,6 +1,6 @@
#objdump: -rst -mips16
#name: MIPS16 reloc 2
-#as: -32 -mips16
+#as: -32 -mips1 -mips16
#source: mips16-f.s
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/module-mfp32.d b/gas/testsuite/gas/mips/module-mfp32.d
index 28b47f6..7cc38c5 100644
--- a/gas/testsuite/gas/mips/module-mfp32.d
+++ b/gas/testsuite/gas/mips/module-mfp32.d
@@ -1,4 +1,4 @@
-#as: -32
+#as: -32 -mips1
#readelf: -A
#name: MIPS module fp=32
diff --git a/gas/testsuite/gas/mips/module-mfp64r6-noodd.d b/gas/testsuite/gas/mips/module-mfp64r6-noodd.d
new file mode 100644
index 0000000..a97e94d
--- /dev/null
+++ b/gas/testsuite/gas/mips/module-mfp64r6-noodd.d
@@ -0,0 +1,21 @@
+#as: -mips32r6 -32
+#readelf: -A
+#name: MIPS module fp=64 nooddspreg
+#source: module-mfp64-noodd.s
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r6
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/gas/testsuite/gas/mips/module-mfp64r6.d b/gas/testsuite/gas/mips/module-mfp64r6.d
new file mode 100644
index 0000000..38bc1bd
--- /dev/null
+++ b/gas/testsuite/gas/mips/module-mfp64r6.d
@@ -0,0 +1,21 @@
+#as: -mips32r6 -32
+#readelf: -A
+#name: MIPS module fp=64
+#source: module-mfp64.s
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r6
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/gas/testsuite/gas/mips/module-msoft-float-r6.d b/gas/testsuite/gas/mips/module-msoft-float-r6.d
new file mode 100644
index 0000000..18ba3b2
--- /dev/null
+++ b/gas/testsuite/gas/mips/module-msoft-float-r6.d
@@ -0,0 +1,20 @@
+#as: -32 -march=mips32r6
+#readelf: -A
+#name: MIPS module softfloat
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: 32
+CPR1 size: 0
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: .*
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/gas/testsuite/gas/mips/module-msoft-float-r6.s b/gas/testsuite/gas/mips/module-msoft-float-r6.s
new file mode 100644
index 0000000..12aea59
--- /dev/null
+++ b/gas/testsuite/gas/mips/module-msoft-float-r6.s
@@ -0,0 +1,3 @@
+.module fp=64
+.module doublefloat
+.module softfloat
diff --git a/gas/testsuite/gas/mips/module-msoft-float.d b/gas/testsuite/gas/mips/module-msoft-float.d
index e081e51..bf2e2eb 100644
--- a/gas/testsuite/gas/mips/module-msoft-float.d
+++ b/gas/testsuite/gas/mips/module-msoft-float.d
@@ -1,4 +1,4 @@
-#as: -32
+#as: -32 -mips1
#readelf: -A
#name: MIPS module softfloat
diff --git a/gas/testsuite/gas/mips/nan-2008-3.d b/gas/testsuite/gas/mips/nan-2008-3.d
index 8f179fb..5007567 100644
--- a/gas/testsuite/gas/mips/nan-2008-3.d
+++ b/gas/testsuite/gas/mips/nan-2008-3.d
@@ -1,6 +1,7 @@
#name: MIPS 2008 NaN setting 3
#source: nan-2008-override.s
#objdump: -p
+#as: -march=from-abi
.*:.*file format.*mips.*
private flags = [0-9a-f]*[4-7c-f]..: .*[[,]nan2008[],].*
diff --git a/gas/testsuite/gas/mips/nan-legacy-1.d b/gas/testsuite/gas/mips/nan-legacy-1.d
index c13d634..5534f04 100644
--- a/gas/testsuite/gas/mips/nan-legacy-1.d
+++ b/gas/testsuite/gas/mips/nan-legacy-1.d
@@ -1,6 +1,7 @@
#name: MIPS legacy NaN setting 1
#source: nan-legacy.s
#objdump: -p
+#as: -march=from-abi
.*:.*file format.*mips.*
#failif
diff --git a/gas/testsuite/gas/mips/nan-legacy-2.d b/gas/testsuite/gas/mips/nan-legacy-2.d
index 4a4af61..d541fff 100644
--- a/gas/testsuite/gas/mips/nan-legacy-2.d
+++ b/gas/testsuite/gas/mips/nan-legacy-2.d
@@ -1,7 +1,7 @@
#name: MIPS legacy NaN setting 2
#source: nan-legacy.s
#objdump: -p
-#as: -mnan=2008
+#as: -mnan=2008 -march=from-abi
.*:.*file format.*mips.*
#failif
diff --git a/gas/testsuite/gas/mips/nan-legacy-3.d b/gas/testsuite/gas/mips/nan-legacy-3.d
index c463f2b..167945a 100644
--- a/gas/testsuite/gas/mips/nan-legacy-3.d
+++ b/gas/testsuite/gas/mips/nan-legacy-3.d
@@ -1,6 +1,7 @@
#name: MIPS legacy NaN setting 3
#source: nan-legacy-override.s
#objdump: -p
+#as: -march=from-abi
.*:.*file format.*mips.*
#failif
diff --git a/gas/testsuite/gas/mips/nan-legacy-4.d b/gas/testsuite/gas/mips/nan-legacy-4.d
index 99c5de7..b0d6b06 100644
--- a/gas/testsuite/gas/mips/nan-legacy-4.d
+++ b/gas/testsuite/gas/mips/nan-legacy-4.d
@@ -1,7 +1,7 @@
#name: MIPS legacy NaN setting 4
#source: empty.s
#objdump: -p
-#as: -mnan=legacy
+#as: -mnan=legacy -march=from-abi
.*:.*file format.*mips.*
#failif
diff --git a/gas/testsuite/gas/mips/nan-legacy-5.d b/gas/testsuite/gas/mips/nan-legacy-5.d
index b0ccb31..1248154 100644
--- a/gas/testsuite/gas/mips/nan-legacy-5.d
+++ b/gas/testsuite/gas/mips/nan-legacy-5.d
@@ -1,6 +1,7 @@
#name: MIPS legacy NaN setting 5
#source: empty.s
#objdump: -p
+#as: -march=from-abi
.*:.*file format.*mips.*
#failif
diff --git a/gas/testsuite/gas/mips/option-pic-1.d b/gas/testsuite/gas/mips/option-pic-1.d
index da32af6..612414a 100644
--- a/gas/testsuite/gas/mips/option-pic-1.d
+++ b/gas/testsuite/gas/mips/option-pic-1.d
@@ -13,6 +13,6 @@ Disassembly of section \.text:
[ ]*[0-9a-f]+: R_MIPS_LO16 bar
[0-9a-f]+ <[^>]*> 8f820000 lw v0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 bar
-[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
diff --git a/gas/testsuite/gas/mips/option-pic-relax-0.d b/gas/testsuite/gas/mips/option-pic-relax-0.d
index 141cc5d..5e14b28 100644
--- a/gas/testsuite/gas/mips/option-pic-relax-0.d
+++ b/gas/testsuite/gas/mips/option-pic-relax-0.d
@@ -16,6 +16,6 @@ Disassembly of section \.text:
[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
[0-9a-f]+ <[^>]*> 8f820000 lw v0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 bar
-[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
diff --git a/gas/testsuite/gas/mips/option-pic-relax-1.d b/gas/testsuite/gas/mips/option-pic-relax-1.d
index dd68fc8..717a099 100644
--- a/gas/testsuite/gas/mips/option-pic-relax-1.d
+++ b/gas/testsuite/gas/mips/option-pic-relax-1.d
@@ -13,6 +13,6 @@ Disassembly of section \.text:
[ ]*[0-9a-f]+: R_MIPS_HI16 bar
[0-9a-f]+ <[^>]*> 24420000 addiu v0,v0,0
[ ]*[0-9a-f]+: R_MIPS_LO16 bar
-[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
diff --git a/gas/testsuite/gas/mips/option-pic-relax-3.d b/gas/testsuite/gas/mips/option-pic-relax-3.d
index 30f9c5f..f917ab0 100644
--- a/gas/testsuite/gas/mips/option-pic-relax-3.d
+++ b/gas/testsuite/gas/mips/option-pic-relax-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS `.option picX' with relaxation 3
-#as: -32 --relax-branch
+#as: -32 -mips1 --relax-branch
#warning_output: option-pic-relax-3.l
# Verify that relaxation is done according to the `.option picX' setting
@@ -15,6 +15,6 @@ Disassembly of section \.text:
[ ]*[0-9a-f]+: R_MIPS_26 \.text
[0-9a-f]+ <[^>]*> 00a01825 move v1,a1
\.\.\.
-[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
diff --git a/gas/testsuite/gas/mips/option-pic-relax-3a.d b/gas/testsuite/gas/mips/option-pic-relax-3a.d
index d6d4088..3c557d3 100644
--- a/gas/testsuite/gas/mips/option-pic-relax-3a.d
+++ b/gas/testsuite/gas/mips/option-pic-relax-3a.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS `.option picX' with relaxation 3a
-#as: -32
+#as: -32 -mips1
#source: option-pic-relax-3.s
#dump: option-pic-relax-3.d
diff --git a/gas/testsuite/gas/mips/option-pic-relax-4.d b/gas/testsuite/gas/mips/option-pic-relax-4.d
index 15adf11..a891b2b 100644
--- a/gas/testsuite/gas/mips/option-pic-relax-4.d
+++ b/gas/testsuite/gas/mips/option-pic-relax-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS `.option picX' with relaxation 4
-#as: -32 -mmicromips --relax-branch
+#as: -32 -mips32r2 -mmicromips --relax-branch
#warning_output: option-pic-relax-4.l
# Verify that relaxation is done according to the `.option picX' setting
diff --git a/gas/testsuite/gas/mips/option-pic-relax-5.d b/gas/testsuite/gas/mips/option-pic-relax-5.d
index 948f329..827c303 100644
--- a/gas/testsuite/gas/mips/option-pic-relax-5.d
+++ b/gas/testsuite/gas/mips/option-pic-relax-5.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS `.option picX' with relaxation 5
-#as: -32 -mmicromips --relax-branch
+#as: -32 -mips32r2 -mmicromips --relax-branch
#warning_output: option-pic-relax-5.l
# Verify that relaxation is done according to the `.option picX' setting
diff --git a/gas/testsuite/gas/mips/org-1.d b/gas/testsuite/gas/mips/org-1.d
index b21951f..da1fad0 100644
--- a/gas/testsuite/gas/mips/org-1.d
+++ b/gas/testsuite/gas/mips/org-1.d
@@ -1,5 +1,5 @@
#nm: -g --defined-only
-#as: --relax-branch
+#as: --relax-branch -march=from-abi
#name: MIPS .org test 1
#warning_output: org-1.l
diff --git a/gas/testsuite/gas/mips/org-10.d b/gas/testsuite/gas/mips/org-10.d
index 0670988..1ec11e3 100644
--- a/gas/testsuite/gas/mips/org-10.d
+++ b/gas/testsuite/gas/mips/org-10.d
@@ -1,5 +1,5 @@
#nm: -g --defined-only
-#as: --relax-branch
+#as: --relax-branch -march=from-abi
#name: MIPS .org test 10
#warning_output: org-10.l
diff --git a/gas/testsuite/gas/mips/org-11.d b/gas/testsuite/gas/mips/org-11.d
index b464230..47c6e96 100644
--- a/gas/testsuite/gas/mips/org-11.d
+++ b/gas/testsuite/gas/mips/org-11.d
@@ -1,5 +1,5 @@
#nm: -g --defined-only
-#as: -32
+#as: -32 -mips1
#name: MIPS .org test 11
0+001000 . bar
diff --git a/gas/testsuite/gas/mips/org-12.d b/gas/testsuite/gas/mips/org-12.d
index 323c301..d634baa 100644
--- a/gas/testsuite/gas/mips/org-12.d
+++ b/gas/testsuite/gas/mips/org-12.d
@@ -1,5 +1,6 @@
#nm: -g --defined-only
#name: MIPS .org test 12
+#as: -march=from-abi
0+001000 . bar
0+000000 . foo
diff --git a/gas/testsuite/gas/mips/org-2.d b/gas/testsuite/gas/mips/org-2.d
index abdd563..b5c7c9b 100644
--- a/gas/testsuite/gas/mips/org-2.d
+++ b/gas/testsuite/gas/mips/org-2.d
@@ -1,5 +1,5 @@
#nm: -g --defined-only
-#as: -32
+#as: -32 -mips1
#name: MIPS .org test 2
0+001000 . bar
diff --git a/gas/testsuite/gas/mips/org-3.d b/gas/testsuite/gas/mips/org-3.d
index 04d5208..31fa39d 100644
--- a/gas/testsuite/gas/mips/org-3.d
+++ b/gas/testsuite/gas/mips/org-3.d
@@ -1,5 +1,6 @@
#nm: -g --defined-only
#name: MIPS .org test 3
+#as: -march=from-abi
0+001000 . bar
0+000000 . foo
diff --git a/gas/testsuite/gas/mips/org-4.d b/gas/testsuite/gas/mips/org-4.d
index a1603eb..cd038cc 100644
--- a/gas/testsuite/gas/mips/org-4.d
+++ b/gas/testsuite/gas/mips/org-4.d
@@ -1,3 +1,3 @@
-#as: --relax-branch
+#as: --relax-branch -march=from-abi
#name: MIPS .org test 4
#error_output: org-4.l
diff --git a/gas/testsuite/gas/mips/org-5.d b/gas/testsuite/gas/mips/org-5.d
index b63fcca..5638496 100644
--- a/gas/testsuite/gas/mips/org-5.d
+++ b/gas/testsuite/gas/mips/org-5.d
@@ -1,3 +1,3 @@
-#as: -32
+#as: -32 -mips1
#name: MIPS .org test 5
#error_output: org-5.l
diff --git a/gas/testsuite/gas/mips/org-6.d b/gas/testsuite/gas/mips/org-6.d
index 887cb32..bbf0f50 100644
--- a/gas/testsuite/gas/mips/org-6.d
+++ b/gas/testsuite/gas/mips/org-6.d
@@ -1,2 +1,3 @@
#name: MIPS .org test 6
#error_output: org-6.l
+#as: -march=from-abi
diff --git a/gas/testsuite/gas/mips/org-7.d b/gas/testsuite/gas/mips/org-7.d
index 71f545d..228f2c9 100644
--- a/gas/testsuite/gas/mips/org-7.d
+++ b/gas/testsuite/gas/mips/org-7.d
@@ -1,5 +1,5 @@
#nm: -g --defined-only
-#as: --relax-branch
+#as: --relax-branch -march=from-abi
#name: MIPS .org test 7
0+010000 . bar
diff --git a/gas/testsuite/gas/mips/org-8.d b/gas/testsuite/gas/mips/org-8.d
index 0d1acf9..d44f547 100644
--- a/gas/testsuite/gas/mips/org-8.d
+++ b/gas/testsuite/gas/mips/org-8.d
@@ -1,5 +1,5 @@
#nm: -g --defined-only
-#as: -32
+#as: -32 -mips1
#name: MIPS .org test 8
0+000100 . bar
diff --git a/gas/testsuite/gas/mips/org-9.d b/gas/testsuite/gas/mips/org-9.d
index fe9e3f3..e2bcb98 100644
--- a/gas/testsuite/gas/mips/org-9.d
+++ b/gas/testsuite/gas/mips/org-9.d
@@ -1,5 +1,6 @@
#nm: -g --defined-only
#name: MIPS .org test 9
+#as: -march=from-abi
0+000080 . bar
0+000000 . foo
diff --git a/gas/testsuite/gas/mips/pcrel-reloc-1.d b/gas/testsuite/gas/mips/pcrel-reloc-1.d
index 4d4d21f..1851e74 100644
--- a/gas/testsuite/gas/mips/pcrel-reloc-1.d
+++ b/gas/testsuite/gas/mips/pcrel-reloc-1.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS local PC-relative relocations 1
-#as: -32
+#as: -32 -mips1
#source: pcrel-reloc-1.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/pcrel-reloc-2.d b/gas/testsuite/gas/mips/pcrel-reloc-2.d
index 25f7f7b..d4d55d1 100644
--- a/gas/testsuite/gas/mips/pcrel-reloc-2.d
+++ b/gas/testsuite/gas/mips/pcrel-reloc-2.d
@@ -1,5 +1,5 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS local PC-relative relocations 2
-#as: -32 --defsym setmips3=1
+#as: -32 -mips1 --defsym setmips3=1
#source: pcrel-reloc-1.s
#dump: pcrel-reloc-1.d
diff --git a/gas/testsuite/gas/mips/pcrel-reloc-3.d b/gas/testsuite/gas/mips/pcrel-reloc-3.d
index cb587b9..399ce10 100644
--- a/gas/testsuite/gas/mips/pcrel-reloc-3.d
+++ b/gas/testsuite/gas/mips/pcrel-reloc-3.d
@@ -1,5 +1,5 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS local PC-relative relocations 3
-#as: -32 --defsym setmips64r6=1
+#as: -32 -mips1 --defsym setmips64r6=1
#source: pcrel-reloc-1.s
#dump: pcrel-reloc-1.d
diff --git a/gas/testsuite/gas/mips/pcrel-reloc-4.d b/gas/testsuite/gas/mips/pcrel-reloc-4.d
index faeb6a5..2322524 100644
--- a/gas/testsuite/gas/mips/pcrel-reloc-4.d
+++ b/gas/testsuite/gas/mips/pcrel-reloc-4.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa64r6
#name: MIPS local PC-relative relocations 4
-#as: -32
+#as: -32 -mips1
#source: pcrel-reloc-4.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/pcrel-reloc-5.d b/gas/testsuite/gas/mips/pcrel-reloc-5.d
index 227b3fc..6b52c57 100644
--- a/gas/testsuite/gas/mips/pcrel-reloc-5.d
+++ b/gas/testsuite/gas/mips/pcrel-reloc-5.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa64r6
#name: MIPS local PC-relative relocations 5
-#as: -32 --defsym reverse=1
+#as: -32 -mips1 --defsym reverse=1
#source: pcrel-reloc-4.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/pcrel-reloc-6.d b/gas/testsuite/gas/mips/pcrel-reloc-6.d
index 03e65f6..01e5bd7 100644
--- a/gas/testsuite/gas/mips/pcrel-reloc-6.d
+++ b/gas/testsuite/gas/mips/pcrel-reloc-6.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa64r6
#name: MIPS local PC-relative relocations 6a
-#as: -32 --defsym offset=0
+#as: -32 -mips1 --defsym offset=0
#source: pcrel-reloc-6.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/set-arch.d b/gas/testsuite/gas/mips/set-arch.d
index d1799dc..49f6c19 100644
--- a/gas/testsuite/gas/mips/set-arch.d
+++ b/gas/testsuite/gas/mips/set-arch.d
@@ -1,6 +1,10 @@
#objdump: -dr --prefix-addresses --show-raw-insn -mmips:sb1 -M gpr-names=32
#name: .set arch=FOO
#warning_output: set-arch.l
+#as: -march=from-abi
+
+#FIXME: -march=mips32r6 will break this test: which is a problem
+#FIXME: We should find the real problem, and drop -march=from-abi
.*: file format .*
diff --git a/gas/testsuite/gas/mips/tmips16-e.d b/gas/testsuite/gas/mips/tmips16-e.d
index bcf3de0..75ed1b1 100644
--- a/gas/testsuite/gas/mips/tmips16-e.d
+++ b/gas/testsuite/gas/mips/tmips16-e.d
@@ -1,6 +1,6 @@
#objdump: -rst --special-syms -mips16
#name: MIPS16 reloc
-#as: -32 -mips16
+#as: -32 -mips1 -mips16
#source: mips16-e.s
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/tmips16-f.d b/gas/testsuite/gas/mips/tmips16-f.d
index 95bb564..7cec0b9 100644
--- a/gas/testsuite/gas/mips/tmips16-f.d
+++ b/gas/testsuite/gas/mips/tmips16-f.d
@@ -1,6 +1,6 @@
#objdump: -rst -mips16
#name: MIPS16 reloc 2
-#as: -32 -mips16
+#as: -32 -mips1 -mips16
#source: mips16-f.s
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/tmipsel16-e.d b/gas/testsuite/gas/mips/tmipsel16-e.d
index 95d473c..161ee2f 100644
--- a/gas/testsuite/gas/mips/tmipsel16-e.d
+++ b/gas/testsuite/gas/mips/tmipsel16-e.d
@@ -1,6 +1,6 @@
#objdump: -rst --special-syms -mips16
#name: MIPS16 reloc
-#as: -32 -mips16
+#as: -32 -mips1 -mips16
#source: mips16-e.s
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/tmipsel16-f.d b/gas/testsuite/gas/mips/tmipsel16-f.d
index 5639bb0..ced710b 100644
--- a/gas/testsuite/gas/mips/tmipsel16-f.d
+++ b/gas/testsuite/gas/mips/tmipsel16-f.d
@@ -1,6 +1,6 @@
#objdump: -rst -mips16
#name: MIPS16 reloc 2
-#as: -32 -mips16
+#as: -32 -mips1 -mips16
#source: mips16-f.s
# Check MIPS16 reloc processing
diff --git a/gas/testsuite/gas/mips/unaligned-branch-r6-1.s b/gas/testsuite/gas/mips/unaligned-branch-r6-1.s
index 1e5960c..b5995e8 100644
--- a/gas/testsuite/gas/mips/unaligned-branch-r6-1.s
+++ b/gas/testsuite/gas/mips/unaligned-branch-r6-1.s
@@ -134,6 +134,7 @@ bar\@ :
.endm
.align 4
+ .set mips32r2
.set micromips
obj 16
fun 8
diff --git a/gas/testsuite/gas/mips/unaligned-branch-r6-3.s b/gas/testsuite/gas/mips/unaligned-branch-r6-3.s
index beb5912..354e5bc 100644
--- a/gas/testsuite/gas/mips/unaligned-branch-r6-3.s
+++ b/gas/testsuite/gas/mips/unaligned-branch-r6-3.s
@@ -136,6 +136,7 @@ bar\@ :
.endm
.align 4
+ .set mips32r2
.set micromips
obj 16
fun 8
diff --git a/gas/testsuite/gas/mips/unaligned-branch-r6-5.d b/gas/testsuite/gas/mips/unaligned-branch-r6-5.d
index eed864a..b5b7e2b 100644
--- a/gas/testsuite/gas/mips/unaligned-branch-r6-5.d
+++ b/gas/testsuite/gas/mips/unaligned-branch-r6-5.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn -m mips:isa64r6
#name: MIPSr6 branch to unaligned symbol 5
-#as: -n32 -march=from-abi
+#as: -n32 -march=mips64r6
#source: unaligned-branch-r6-3.s
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d b/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d
index a3427a8..f9ca353 100644
--- a/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d
+++ b/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d
@@ -1,6 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS16 jump to unaligned symbol 3
-#as: -n32 -march=from-abi
+#as: -n32 -march=from-abi --defsym n32=1
#source: unaligned-jump-mips16-2.s
.*: +file format .*mips.*
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d
index 24d051d..71bce95 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d
@@ -1,5 +1,6 @@
#source: attr-gnu-4-0.s
#source: attr-gnu-4-1.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d
index ce94a81..12268fb 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d
@@ -1,5 +1,6 @@
#source: attr-gnu-4-1.s
#source: attr-gnu-4-1.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d
index 6aa22b9..67f2bdf 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d
@@ -1,5 +1,6 @@
#source: attr-gnu-4-4.s -W
#source: attr-gnu-4-0.s
+#as: -march=from-abi
#ld: -r
#error: \A[^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d
index 49f2137..029d0ed 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d
@@ -1,5 +1,6 @@
#source: attr-gnu-4-4.s -W
#source: attr-gnu-4-1.s
+#as: -march=from-abi
#ld: -r
#error: \A[^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
#error: [^\n]*: warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mdouble-float\n
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d
index 2f8e5f0..a8a2aaa 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d
@@ -1,5 +1,6 @@
#source: attr-gnu-8-0.s
#source: attr-gnu-8-0.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d
index e2cda33..82006ff 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d
@@ -1,5 +1,6 @@
#source: attr-gnu-8-0.s
#source: attr-gnu-8-1.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d
index 54b196f..9f08a43 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d
@@ -1,5 +1,6 @@
#source: attr-gnu-8-0.s
#source: attr-gnu-8-2.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d
index f7c512b..9796282 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d
@@ -1,5 +1,6 @@
#source: attr-gnu-8-1.s
#source: attr-gnu-8-0.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d
index be87af4..8d3cf40 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d
@@ -1,5 +1,6 @@
#source: attr-gnu-8-1.s
#source: attr-gnu-8-1.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d
index 05f4da0..02abcc7 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d
@@ -1,5 +1,6 @@
#source: attr-gnu-8-2.s
#source: attr-gnu-8-0.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d
index 908ce4f..164bc25 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d
@@ -1,5 +1,6 @@
#source: attr-gnu-8-2.s
#source: attr-gnu-8-2.s
+#as: -march=from-abi
#ld: -r
#readelf: -A
diff --git a/ld/testsuite/ld-mips-elf/emit-relocs-1.d b/ld/testsuite/ld-mips-elf/emit-relocs-1.d
index 0de0729..32e15a2 100644
--- a/ld/testsuite/ld-mips-elf/emit-relocs-1.d
+++ b/ld/testsuite/ld-mips-elf/emit-relocs-1.d
@@ -23,7 +23,7 @@ OFFSET +TYPE +VALUE
Contents of section \.text:
- 80000 03e00008 00000000 00000000 00000000 .*
+ 80000 03e0000[89] 00000000 00000000 00000000 .*
Contents of section \.merge1:
80400 666c7574 74657200 flutter.*
Contents of section \.merge2:
diff --git a/ld/testsuite/ld-mips-elf/gp-disp-sym.s b/ld/testsuite/ld-mips-elf/gp-disp-sym.s
index c6380ba..3b06e71 100644
--- a/ld/testsuite/ld-mips-elf/gp-disp-sym.s
+++ b/ld/testsuite/ld-mips-elf/gp-disp-sym.s
@@ -2,4 +2,4 @@
.text
foo:
lui $t0, %hi(_gp_disp)
- addi $t0, $t0, %lo(_gp_disp)
+ addiu $t0, $t0, %lo(_gp_disp)
diff --git a/ld/testsuite/ld-mips-elf/jalr3.dd b/ld/testsuite/ld-mips-elf/jalr3.dd
index 6b6d484..5c9d83f 100644
--- a/ld/testsuite/ld-mips-elf/jalr3.dd
+++ b/ld/testsuite/ld-mips-elf/jalr3.dd
@@ -9,6 +9,6 @@ Disassembly of section \.text:
c: 00000000 nop
0+000010 <\$bar>:
- 10: 03e00008 jr ra
+ 10: 03e0000[89] jr ra
14: 00000000 nop
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/jalx-1.d b/ld/testsuite/ld-mips-elf/jalx-1.d
index f082628..80c3be2 100644
--- a/ld/testsuite/ld-mips-elf/jalx-1.d
+++ b/ld/testsuite/ld-mips-elf/jalx-1.d
@@ -1,5 +1,5 @@
#name: MIPS jalx-1
-#source: jalx-1.s
+#source: jalx-1.s -march=from-abi
#ld: -T jalx-1.ld
#objdump: -d
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index 920bb12..ff9635e 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -72,7 +72,8 @@ proc run_dump_test_abi { abi name args } {
set asflags [regsub -- {-march=[^[:blank:]]*} $asflags {}]
set args [lreplace $args 0 0]
}
- if !$has_abi($abi) {
+ set abi_r [regsub "l$" $abi {}]
+ if !$has_abi($abi_r) {
lappend args {notarget *-*-*}
}
if { [llength $args] > 0 } {
@@ -91,6 +92,13 @@ proc run_dump_test_abi { abi name args } {
proc run_dump_test_o32 { name args } {
run_dump_test_abi o32 $name [lindex $args 0]
}
+proc run_dump_test_o32l { name args } {
+ if {[istarget *-linux*] || [istarget *-img-elf]} {
+ run_dump_test_abi o32l $name [lindex $args 0]
+ } else {
+ run_dump_test_abi o32 $name [lindex $args 0]
+ }
+}
# run_dump_test_n32 NAME ARGS
#
@@ -99,6 +107,13 @@ proc run_dump_test_o32 { name args } {
proc run_dump_test_n32 { name args } {
run_dump_test_abi n32 $name [lindex $args 0]
}
+proc run_dump_test_n32l { name args } {
+ if {[istarget *-linux*] || [istarget *-img-elf]} {
+ run_dump_test_abi n32l $name [lindex $args 0]
+ } else {
+ run_dump_test_abi n32 $name [lindex $args 0]
+ }
+}
# run_dump_test_n64 NAME ARGS
#
@@ -107,6 +122,13 @@ proc run_dump_test_n32 { name args } {
proc run_dump_test_n64 { name args } {
run_dump_test_abi n64 $name [lindex $args 0]
}
+proc run_dump_test_n64l { name args } {
+ if {[istarget *-linux*] || [istarget *-img-elf]} {
+ run_dump_test_abi n64l $name [lindex $args 0]
+ } else {
+ run_dump_test_abi n64 $name [lindex $args 0]
+ }
+}
# run_dump_test_eabi NAME ARGS
#
@@ -139,49 +161,69 @@ set linux_gnu [expr [istarget mips*-*-linux*]]
set embedded_elf [expr [istarget mips*-*-elf]]
# Set defaults.
+# ABI with l tail means legacy, aka pre-R6.
+# Please use them, if the test only suite for pre-R6,
+# such as mips16/micromips tests.
set abi_asflags(o32) ""
+set abi_asflags(o32l) ""
set abi_asflags(n32) ""
+set abi_asflags(n32l) ""
set abi_asflags(n64) ""
+set abi_asflags(n64l) ""
set abi_asflags(eabi) ""
set abi_ldflags(o32) ""
+set abi_ldflags(o32l) ""
set abi_ldflags(n32) ""
+set abi_ldflags(n32l) ""
set abi_ldflags(n64) ""
+set abi_ldflags(n64l) ""
set abi_ldflags(eabi) ""
# Override as needed.
if {[istarget *-*-openbsd*] } {
set irixemul 0
-} elseif { [istarget mips64*-*-linux*] } {
+} elseif { [istarget mips*64*-*-linux*] } {
+ set abi_asflags(o32) -32
+ set abi_asflags(o32l) "-32 -march=from-abi"
+ set abi_asflags(n32) ""
+ set abi_asflags(n32l) "-n32 -march=from-abi"
+ set abi_asflags(n64) "-64"
+ set abi_asflags(n64l) "-march=from-abi -64"
if [istarget *el-*-*] {
- set abi_asflags(o32) -32
set abi_ldflags(o32) -melf32ltsmip
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(o32l) -melf32ltsmip
set abi_ldflags(n64) -melf64ltsmip
+ set abi_ldflags(n64l) -melf64ltsmip
} else {
- set abi_asflags(o32) -32
set abi_ldflags(o32) -melf32btsmip
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(o32l) -melf32btsmip
set abi_ldflags(n64) -melf64btsmip
+ set abi_ldflags(n64l) -melf64btsmip
}
set irixemul 0
-} elseif {[istarget *-*-linux*] } {
+} elseif {[istarget *-*-linux*] || [istarget *-img-elf] } {
+ set abi_asflags(o32) ""
+ set abi_asflags(o32l) "-march=from-abi"
+ set abi_asflags(n32) "-n32"
+ set abi_asflags(n32l) "-n32 -march=from-abi"
+ set abi_asflags(n64) "-64"
+ set abi_asflags(n64l) "-64 -march=from-abi"
if [istarget *el-*-*] {
- set abi_asflags(n32) "-march=from-abi -n32"
set abi_ldflags(n32) -melf32ltsmipn32
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(n32l) -melf32ltsmipn32
set abi_ldflags(n64) -melf64ltsmip
+ set abi_ldflags(n64l) -melf64ltsmip
} else {
- set abi_asflags(n32) "-march=from-abi -n32"
set abi_ldflags(n32) -melf32btsmipn32
- set abi_asflags(n64) "-march=from-abi -64"
+ set abi_ldflags(n32l) -melf32btsmipn32
set abi_ldflags(n64) -melf64btsmip
+ set abi_ldflags(n64l) -melf64btsmip
}
set irixemul 0
} elseif {[istarget *-img-elf*] \
|| [istarget *-mti-elf*] \
|| [istarget *-sde-elf*] \
|| [istarget *-*-netbsd*] \
- || [istarget *-*-linux*] \
|| [istarget *-*-sysv4*] } {
if [istarget *el-*-*] {
set abi_asflags(o32) -32
@@ -305,56 +347,56 @@ run_dump_test "mips16-1"
# MIPS branch offset final link checking.
run_dump_test "branch-misc-1"
run_dump_test "branch-misc-2"
-run_dump_test_o32 "branch-absolute"
-run_dump_test_o32 "branch-absolute-addend"
-run_dump_test_n32 "branch-absolute-n32"
-run_dump_test_n32 "branch-absolute-addend-n32"
-run_dump_test_n64 "branch-absolute-n64"
-run_dump_test_n64 "branch-absolute-addend-n64"
-
-run_dump_test_o32 "mips16-pcrel-0"
-run_dump_test_o32 "mips16-pcrel-1" noarch
-run_dump_test_o32 "mips16e2-pcrel-0" noarch
-run_dump_test_o32 "mips16e2-pcrel-1" noarch
-run_dump_test_o32 "mips16-pcrel-addend-2"
-run_dump_test_o32 "mips16-pcrel-addend-6"
-run_dump_test_o32 "mips16e2-pcrel-addend-2" noarch
-run_dump_test_o32 "mips16e2-pcrel-addend-6" noarch
-run_dump_test_n32 "mips16-pcrel-n32-0"
-run_dump_test_n32 "mips16-pcrel-n32-1"
-run_dump_test_n64 "mips16-pcrel-n64-sym32-0"
-run_dump_test_n64 "mips16-pcrel-n64-sym32-1"
-run_dump_test_n32 "mips16e2-pcrel-n32-0" noarch
-run_dump_test_n32 "mips16e2-pcrel-n32-1" noarch
-run_dump_test_n64 "mips16e2-pcrel-n64-sym32-0" noarch
-run_dump_test_n64 "mips16e2-pcrel-n64-sym32-1" noarch
-
-run_dump_test_o32 "mips16-branch-2"
-run_dump_test_o32 "mips16-branch-3"
-run_dump_test_o32 "mips16-branch-addend-2"
-run_dump_test_o32 "mips16-branch-addend-3"
-run_dump_test_o32 "mips16-branch-absolute"
-run_dump_test_o32 "mips16-branch-absolute-1"
-run_dump_test_o32 "mips16-branch-absolute-2"
-run_dump_test_o32 "mips16-branch-absolute-addend"
-run_dump_test_o32 "mips16-branch-absolute-addend-1"
-run_dump_test_n32 "mips16-branch-absolute-n32"
-run_dump_test_n32 "mips16-branch-absolute-n32-1"
-run_dump_test_n32 "mips16-branch-absolute-n32-2"
-run_dump_test_n32 "mips16-branch-absolute-addend-n32"
-run_dump_test_n32 "mips16-branch-absolute-addend-n32-1"
-run_dump_test_n64 "mips16-branch-absolute-n64"
-run_dump_test_n64 "mips16-branch-absolute-n64-1"
-run_dump_test_n64 "mips16-branch-absolute-n64-2"
-run_dump_test_n64 "mips16-branch-absolute-addend-n64"
-run_dump_test_n64 "mips16-branch-absolute-addend-n64-1"
-
-run_dump_test_o32 "micromips-branch-absolute"
-run_dump_test_o32 "micromips-branch-absolute-addend"
-run_dump_test_n32 "micromips-branch-absolute-n32"
-run_dump_test_n32 "micromips-branch-absolute-addend-n32"
-run_dump_test_n64 "micromips-branch-absolute-n64"
-run_dump_test_n64 "micromips-branch-absolute-addend-n64"
+run_dump_test_o32l "branch-absolute"
+run_dump_test_o32l "branch-absolute-addend"
+run_dump_test_n32l "branch-absolute-n32"
+run_dump_test_n32l "branch-absolute-addend-n32"
+run_dump_test_n64l "branch-absolute-n64"
+run_dump_test_n64l "branch-absolute-addend-n64"
+
+run_dump_test_o32l "mips16-pcrel-0"
+run_dump_test_o32l "mips16-pcrel-1" noarch
+run_dump_test_o32l "mips16e2-pcrel-0" noarch
+run_dump_test_o32l "mips16e2-pcrel-1" noarch
+run_dump_test_o32l "mips16-pcrel-addend-2"
+run_dump_test_o32l "mips16-pcrel-addend-6" noarch
+run_dump_test_o32l "mips16e2-pcrel-addend-2" noarch
+run_dump_test_o32l "mips16e2-pcrel-addend-6" noarch
+run_dump_test_n32l "mips16-pcrel-n32-0"
+run_dump_test_n32l "mips16-pcrel-n32-1"
+run_dump_test_n64l "mips16-pcrel-n64-sym32-0"
+run_dump_test_n64l "mips16-pcrel-n64-sym32-1"
+run_dump_test_n32l "mips16e2-pcrel-n32-0" noarch
+run_dump_test_n32l "mips16e2-pcrel-n32-1" noarch
+run_dump_test_n64l "mips16e2-pcrel-n64-sym32-0" noarch
+run_dump_test_n64l "mips16e2-pcrel-n64-sym32-1" noarch
+
+run_dump_test_o32l "mips16-branch-2"
+run_dump_test_o32l "mips16-branch-3"
+run_dump_test_o32l "mips16-branch-addend-2"
+run_dump_test_o32l "mips16-branch-addend-3"
+run_dump_test_o32l "mips16-branch-absolute"
+run_dump_test_o32l "mips16-branch-absolute-1"
+run_dump_test_o32l "mips16-branch-absolute-2"
+run_dump_test_o32l "mips16-branch-absolute-addend"
+run_dump_test_o32l "mips16-branch-absolute-addend-1"
+run_dump_test_n32l "mips16-branch-absolute-n32"
+run_dump_test_n32l "mips16-branch-absolute-n32-1"
+run_dump_test_n32l "mips16-branch-absolute-n32-2"
+run_dump_test_n32l "mips16-branch-absolute-addend-n32"
+run_dump_test_n32l "mips16-branch-absolute-addend-n32-1"
+run_dump_test_n64l "mips16-branch-absolute-n64"
+run_dump_test_n64l "mips16-branch-absolute-n64-1"
+run_dump_test_n64l "mips16-branch-absolute-n64-2"
+run_dump_test_n64l "mips16-branch-absolute-addend-n64"
+run_dump_test_n64l "mips16-branch-absolute-addend-n64-1"
+
+run_dump_test_o32l "micromips-branch-absolute"
+run_dump_test_o32l "micromips-branch-absolute-addend"
+run_dump_test_n32l "micromips-branch-absolute-n32"
+run_dump_test_n32l "micromips-branch-absolute-addend-n32"
+run_dump_test_n64l "micromips-branch-absolute-n64"
+run_dump_test_n64l "micromips-branch-absolute-addend-n64"
# Jalx test
run_dump_test "jalx-1"
@@ -381,69 +423,69 @@ if { $linux_gnu } {
"jalx-2"]]
}
-run_dump_test_o32 "jalx-addend"
-run_dump_test_o32 "jalx-local"
-run_dump_test_o32 "bal-jalx-addend"
-run_dump_test_o32 "bal-jalx-addend-micromips"
-run_dump_test_o32 "bal-jalx-local"
-run_dump_test_o32 "bal-jalx-local-micromips"
-run_dump_test_o32 "bal-jalx-pic"
-run_dump_test_o32 "bal-jalx-pic-micromips"
-run_dump_test_o32 "bal-jalx-pic-ignore"
-run_dump_test_o32 "bal-jalx-pic-ignore-micromips"
-run_dump_test_n32 "jalx-addend-n32"
-run_dump_test_n32 "jalx-local-n32"
-run_dump_test_n32 "bal-jalx-addend-n32"
-run_dump_test_n32 "bal-jalx-addend-micromips-n32"
-run_dump_test_n32 "bal-jalx-local-n32"
-run_dump_test_n32 "bal-jalx-local-micromips-n32"
-run_dump_test_n32 "bal-jalx-pic-n32"
-run_dump_test_n32 "bal-jalx-pic-micromips-n32"
-run_dump_test_n32 "bal-jalx-pic-ignore-n32"
-run_dump_test_n32 "bal-jalx-pic-ignore-micromips-n32"
-run_dump_test_n64 "jalx-addend-n64"
-run_dump_test_n64 "jalx-local-n64"
-run_dump_test_n64 "bal-jalx-addend-n64"
-run_dump_test_n64 "bal-jalx-addend-micromips-n64"
-run_dump_test_n64 "bal-jalx-local-n64"
-run_dump_test_n64 "bal-jalx-local-micromips-n64"
-run_dump_test_n64 "bal-jalx-pic-n64"
-run_dump_test_n64 "bal-jalx-pic-micromips-n64"
-run_dump_test_n64 "bal-jalx-pic-ignore-n64"
-run_dump_test_n64 "bal-jalx-pic-ignore-micromips-n64"
-
-run_dump_test "unaligned-jalx-0" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-1" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-2" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-3" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-mips16-0" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-mips16-1" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-micromips-0" [list [list ld $abi_ldflags(o32)]]
-run_dump_test "unaligned-jalx-micromips-1" [list [list ld $abi_ldflags(o32)]]
-
-run_dump_test_n32 "unaligned-jalx-addend-0"
-run_dump_test_n32 "unaligned-jalx-addend-1"
-run_dump_test_n32 "unaligned-jalx-addend-2"
-run_dump_test_n32 "unaligned-jalx-addend-3"
-run_dump_test_n32 "unaligned-jalx-addend-mips16-0"
-run_dump_test_n32 "unaligned-jalx-addend-mips16-1"
-run_dump_test_n32 "unaligned-jalx-addend-micromips-0"
-run_dump_test_n32 "unaligned-jalx-addend-micromips-1"
+run_dump_test_o32l "jalx-addend"
+run_dump_test_o32l "jalx-local"
+run_dump_test_o32l "bal-jalx-addend"
+run_dump_test_o32l "bal-jalx-addend-micromips"
+run_dump_test_o32l "bal-jalx-local"
+run_dump_test_o32l "bal-jalx-local-micromips"
+run_dump_test_o32l "bal-jalx-pic"
+run_dump_test_o32l "bal-jalx-pic-micromips"
+run_dump_test_o32l "bal-jalx-pic-ignore"
+run_dump_test_o32l "bal-jalx-pic-ignore-micromips"
+run_dump_test_n32l "jalx-addend-n32"
+run_dump_test_n32l "jalx-local-n32"
+run_dump_test_n32l "bal-jalx-addend-n32"
+run_dump_test_n32l "bal-jalx-addend-micromips-n32"
+run_dump_test_n32l "bal-jalx-local-n32"
+run_dump_test_n32l "bal-jalx-local-micromips-n32"
+run_dump_test_n32l "bal-jalx-pic-n32"
+run_dump_test_n32l "bal-jalx-pic-micromips-n32"
+run_dump_test_n32l "bal-jalx-pic-ignore-n32"
+run_dump_test_n32l "bal-jalx-pic-ignore-micromips-n32"
+run_dump_test_n64l "jalx-addend-n64"
+run_dump_test_n64l "jalx-local-n64"
+run_dump_test_n64l "bal-jalx-addend-n64"
+run_dump_test_n64l "bal-jalx-addend-micromips-n64"
+run_dump_test_n64l "bal-jalx-local-n64"
+run_dump_test_n64l "bal-jalx-local-micromips-n64"
+run_dump_test_n64l "bal-jalx-pic-n64"
+run_dump_test_n64l "bal-jalx-pic-micromips-n64"
+run_dump_test_n64l "bal-jalx-pic-ignore-n64"
+run_dump_test_n64l "bal-jalx-pic-ignore-micromips-n64"
+
+run_dump_test_o32l "unaligned-jalx-0" [list [list ld $abi_ldflags(o32)]]
+run_dump_test_o32l "unaligned-jalx-1" [list [list ld $abi_ldflags(o32)]]
+run_dump_test_o32l "unaligned-jalx-2" [list [list ld $abi_ldflags(o32)]]
+run_dump_test_o32l "unaligned-jalx-3" [list [list ld $abi_ldflags(o32)]]
+run_dump_test_o32l "unaligned-jalx-mips16-0" [list [list ld $abi_ldflags(o32)]]
+run_dump_test_o32l "unaligned-jalx-mips16-1" [list [list ld $abi_ldflags(o32)]]
+run_dump_test_o32l "unaligned-jalx-micromips-0" [list [list ld $abi_ldflags(o32)]]
+run_dump_test_o32l "unaligned-jalx-micromips-1" [list [list ld $abi_ldflags(o32)]]
+
+run_dump_test_n32l "unaligned-jalx-addend-0"
+run_dump_test_n32l "unaligned-jalx-addend-1"
+run_dump_test_n32l "unaligned-jalx-addend-2"
+run_dump_test_n32l "unaligned-jalx-addend-3"
+run_dump_test_n32l "unaligned-jalx-addend-mips16-0"
+run_dump_test_n32l "unaligned-jalx-addend-mips16-1"
+run_dump_test_n32l "unaligned-jalx-addend-micromips-0"
+run_dump_test_n32l "unaligned-jalx-addend-micromips-1"
run_dump_test_o32 "unaligned-branch" noarch
-run_dump_test_n32 "unaligned-branch-2"
-run_dump_test_n32 "unaligned-branch-ignore-2"
+run_dump_test_n32l "unaligned-branch-2"
+run_dump_test_n32l "unaligned-branch-ignore-2"
run_dump_test_n32 "unaligned-branch-r6-1"
run_dump_test_n32 "unaligned-branch-ignore-r6-1"
run_dump_test_n32 "unaligned-branch-r6-2" noarch
-run_dump_test_n32 "unaligned-branch-mips16"
-run_dump_test_n32 "unaligned-branch-ignore-mips16"
-run_dump_test_n32 "unaligned-branch-micromips"
-run_dump_test_n32 "unaligned-branch-ignore-micromips"
-run_dump_test_n32 "unaligned-jump"
-run_dump_test_n32 "unaligned-jump-mips16"
-run_dump_test_n32 "unaligned-jump-micromips"
+run_dump_test_n32l "unaligned-branch-mips16"
+run_dump_test_n32l "unaligned-branch-ignore-mips16"
+run_dump_test_n32l "unaligned-branch-micromips"
+run_dump_test_n32l "unaligned-branch-ignore-micromips"
+run_dump_test_n32l "unaligned-jump"
+run_dump_test_n32l "unaligned-jump-mips16"
+run_dump_test_n32l "unaligned-jump-micromips"
run_dump_test_o32 "unaligned-lwpc-0" noarch
run_dump_test_o32 "unaligned-lwpc-1" noarch
@@ -474,11 +516,11 @@ if { $linux_gnu } {
}
if { $embedded_elf } {
- run_dump_test_n32 "elf-rel-got-n32-embed" {{as -EB} {ld -EB}}
- run_dump_test_n32 "elf-rel-xgot-n32-embed" {{as -EB} {ld -EB}}
+ run_dump_test_n32l "elf-rel-got-n32-embed" {{as -EB} {ld -EB}}
+ run_dump_test_n32l "elf-rel-xgot-n32-embed" {{as -EB} {ld -EB}}
} else {
- run_dump_test_n32 "elf-rel-got-n32" {{as -EB} {ld -EB}}
- run_dump_test_n32 "elf-rel-xgot-n32" {{as -EB} {ld -EB}}
+ run_dump_test_n32l "elf-rel-got-n32" {{as -EB} {ld -EB}}
+ run_dump_test_n32l "elf-rel-xgot-n32" {{as -EB} {ld -EB}}
}
if { $irix } {
run_dump_test_n64 "elf-rel-got-n64-irix"
@@ -487,8 +529,8 @@ if { $irix } {
run_dump_test_n64 "elf-rel-got-n64-embed" {{as -EB} {ld -EB}}
run_dump_test_n64 "elf-rel-xgot-n64-embed" {{as -EB} {ld -EB}}
} else {
- run_dump_test_n64 "elf-rel-got-n64" {{as -EB} {ld -EB}}
- run_dump_test_n64 "elf-rel-xgot-n64" {{as -EB} {ld -EB}}
+ run_dump_test_n64l "elf-rel-got-n64" {{as -EB} {ld -EB}}
+ run_dump_test_n64l "elf-rel-xgot-n64" {{as -EB} {ld -EB}}
}
run_dump_test_n32 "relax-jalr-n32" {{as -EB} {ld -EB}}
@@ -795,8 +837,8 @@ run_dump_test_n32 "jalbal" noarch
run_dump_test "mode-change-error-1"
-run_dump_test_o32 "mips16-hilo"
-run_dump_test_n32 "mips16-hilo-n32"
+run_dump_test_o32l "mips16-hilo"
+run_dump_test_n32l "mips16-hilo-n32"
if { $linux_gnu } {
run_dump_test_n32 "textrel-1"
@@ -865,8 +907,8 @@ if { $linux_gnu && $has_abi(o32) } {
set base_syms 1
foreach { isa aflag lflag suffix } \
{ MIPS -march=mips1 "" "" \
- microMIPS -mmicromips "" -micromips \
- "microMIPS insn32" "-mmicromips -minsn32" --insn32 \
+ microMIPS "-mips32r2 -mmicromips" "" -micromips \
+ "microMIPS insn32" "-mips32r2 -mmicromips -minsn32" --insn32 \
-micromips-insn32 } {
foreach dynsym { 7fff 8000 fff0 10000 2fe80 } {
run_ld_link_tests \
@@ -1206,7 +1248,7 @@ foreach { abi } $abis {
[list \
"MIPS JALR reloc unaligned/cross-mode link test ($abi)" \
"$abi_ldflags($abi) -T jalr3.ld" "" \
- "$abi_asflags($abi)" \
+ "$abi_asflags($abi) -march=from-abi" \
[list ../../../gas/testsuite/gas/mips/jalr4.s] \
[list "objdump {-d --prefix-addresses --show-raw-insn} jalr4.dd"] \
"jalr4-${abi}"] \
@@ -1244,6 +1286,8 @@ proc run_mips_plt_test { name abi filter micromips suffix {extra {}} } {
append as_flags " --defsym micromips=$micromips --defsym $abi=1"
if {[string equal $abi o32]} {
append as_flags " -march=mips2"
+ } else {
+ append as_flags " -march=mips3"
}
set ld_flags "$abi_ldflags($abi) -T compressed-plt-1.ld"
set dynobj "tmpdir/compressed-plt-1-${abi}-dyn.so"
@@ -1383,7 +1427,7 @@ if { $has_abi(o32) } {
run_ld_link_tests [list \
[list \
"PR ld/21334 MIPS GOT16 relocation in static binary" \
- "$abi_ldflags(o32) -e foo -T pr21334.ld" "" "$abi_asflags(o32)" \
+ "$abi_ldflags(o32) -e foo -T pr21334.ld" "" "$abi_asflags(o32) -march=from-abi" \
{pr21334.s} \
{{objdump {-d --prefix-addresses} pr21334.dd} \
{readelf -A pr21334.gd}} \
@@ -1418,7 +1462,7 @@ if { $has_abi(o32) } {
[list \
"microMIPS link PIC branch relaxation with offset" \
"$abi_ldflags(o32) -shared -T relax-offset.ld" "" \
- "$abi_asflags(o32) -relax-branch -mmicromips" \
+ "$abi_asflags(o32) -relax-branch -mips32r2 -mmicromips" \
{../../../gas/testsuite/gas/mips/relax-offset.s} \
{{objdump \
{-d --prefix-addresses --show-raw-insn} \
@@ -1571,7 +1615,7 @@ proc run_mips_undefweak_test { name abi args } {
"$name" \
"$abi_ldflags($abi) -e foo -T pr21375${scrsuf}.ld ${ldxtra}" \
"" \
- "$abi_asflags($abi) ${asxtra}" \
+ "$abi_asflags($abi) -march=from-abi ${asxtra}" \
[list pr21375${srcsuf}.s] \
[list \
[list objdump -d pr21375${objsuf}.dd] \
@@ -1650,11 +1694,11 @@ run_dump_test "pic-reloc-2"
run_dump_test "pic-reloc-3"
run_dump_test "pic-reloc-4"
run_dump_test_o32 "pic-reloc-5"
-run_dump_test_o32 "pic-reloc-5" [list [list name (microMIPS)] \
+run_dump_test_o32l "pic-reloc-5" [list [list name (microMIPS)] \
[list as "-mmicromips"]]
-run_dump_test_o32 "pic-reloc-6"
+run_dump_test_o32l "pic-reloc-6"
run_dump_test_n64 "pic-reloc-7"
-run_dump_test_n64 "pic-reloc-7" [list [list name (microMIPS)] \
+run_dump_test_n64l "pic-reloc-7" [list [list name (microMIPS)] \
[list as "-mmicromips"]]
run_dump_test_o32 "reloc-pcrel-r6"
diff --git a/ld/testsuite/ld-mips-elf/mips16-1.d b/ld/testsuite/ld-mips-elf/mips16-1.d
index 77d1316..f2d5caa 100644
--- a/ld/testsuite/ld-mips-elf/mips16-1.d
+++ b/ld/testsuite/ld-mips-elf/mips16-1.d
@@ -1,5 +1,5 @@
-#source: mips16-1a.s -no-mips16
-#source: mips16-1b.s -mips16
+#source: mips16-1a.s -no-mips16 -march=from-abi
+#source: mips16-1b.s -mips16 -march=from-abi
#ld: -r
#objdump: -pd
diff --git a/ld/testsuite/ld-mips-elf/mips16-and-micromips.d b/ld/testsuite/ld-mips-elf/mips16-and-micromips.d
index 6d740fe..4b89ae3 100644
--- a/ld/testsuite/ld-mips-elf/mips16-and-micromips.d
+++ b/ld/testsuite/ld-mips-elf/mips16-and-micromips.d
@@ -1,5 +1,5 @@
#name: MIPS16 and microMIPS interlink
-#source: ../../../gas/testsuite/gas/mips/nop.s -mips16
-#source: ../../../gas/testsuite/gas/mips/nop.s -mmicromips
+#source: ../../../gas/testsuite/gas/mips/nop.s -mips16 -march=from-abi
+#source: ../../../gas/testsuite/gas/mips/nop.s -mmicromips -march=from-abi
#ld: -e0
#error: \A.*: .*\.o: ASE mismatch: linking microMIPS module with previous MIPS16 modules[\n\r]+.*: failed to merge target specific data of file .*\.o\Z
diff --git a/ld/testsuite/ld-mips-elf/mode-change-error-1.d b/ld/testsuite/ld-mips-elf/mode-change-error-1.d
index afa54d8..90636c2 100644
--- a/ld/testsuite/ld-mips-elf/mode-change-error-1.d
+++ b/ld/testsuite/ld-mips-elf/mode-change-error-1.d
@@ -1,6 +1,6 @@
#name: Mode Change Error 1
-#source: mode-change-error-1a.s
-#source: mode-change-error-1b.s
+#source: mode-change-error-1a.s -march=from-abi
+#source: mode-change-error-1b.s -march=from-abi
#ld: -e 0x8000000
#error: \A[^\n]*: in function `main':\n
#error: \(\.text\+0x0\): unsupported jump between ISA modes; consider recompiling with interlinking enabled\n
diff --git a/ld/testsuite/ld-mips-elf/n64-plt-1.dd b/ld/testsuite/ld-mips-elf/n64-plt-1.dd
index 4c24a9a..51d654a 100644
--- a/ld/testsuite/ld-mips-elf/n64-plt-1.dd
+++ b/ld/testsuite/ld-mips-elf/n64-plt-1.dd
@@ -15,7 +15,7 @@ Disassembly of section \.plt:
00000000100002a0 <bar@plt>:
100002a0: 3c0f7fff lui t3,0x7fff
100002a4: ddf97ff8 ld t9,32760\(t3\)
- 100002a8: 03200008 jr t9
+ 100002a8: 0320000[89] jr t9
100002ac: 25f87ff8 addiu t8,t3,32760
Disassembly of section \.text:
diff --git a/ld/testsuite/ld-mips-elf/n64-plt-4.dd b/ld/testsuite/ld-mips-elf/n64-plt-4.dd
index 01c5025..71fee33 100644
--- a/ld/testsuite/ld-mips-elf/n64-plt-4.dd
+++ b/ld/testsuite/ld-mips-elf/n64-plt-4.dd
@@ -15,7 +15,7 @@ ffffffff1000029c: 2718fffe addiu t8,t8,-2
ffffffff100002a0 <bar@plt>:
ffffffff100002a0: 3c0f8000 lui t3,0x8000
ffffffff100002a4: ddf98010 ld t9,-32752\(t3\)
-ffffffff100002a8: 03200008 jr t9
+ffffffff100002a8: 0320000[89] jr t9
ffffffff100002ac: 25f88010 addiu t8,t3,-32752
Disassembly of section \.text:
diff --git a/ld/testsuite/ld-mips-elf/nan-legacy.d b/ld/testsuite/ld-mips-elf/nan-legacy.d
index 8dacc06..0d90432 100644
--- a/ld/testsuite/ld-mips-elf/nan-legacy.d
+++ b/ld/testsuite/ld-mips-elf/nan-legacy.d
@@ -1,5 +1,6 @@
#source: nan-legacy.s
#source: nan-legacy.s
+#as: -march=from-abi
#ld: -r
#objdump: -p
diff --git a/ld/testsuite/ld-mips-elf/nan-mixed-1.d b/ld/testsuite/ld-mips-elf/nan-mixed-1.d
index 9bc524c..c7e9570 100644
--- a/ld/testsuite/ld-mips-elf/nan-mixed-1.d
+++ b/ld/testsuite/ld-mips-elf/nan-mixed-1.d
@@ -1,5 +1,6 @@
#source: nan-legacy.s
#source: nan-2008.s
+#as: -march=from-abi
#ld: -r
#error: \A[^\n]*: [^\n]* linking -mnan=2008 module with previous -mnan=legacy modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/ld/testsuite/ld-mips-elf/nan-mixed-2.d b/ld/testsuite/ld-mips-elf/nan-mixed-2.d
index 388d770..a96cda0 100644
--- a/ld/testsuite/ld-mips-elf/nan-mixed-2.d
+++ b/ld/testsuite/ld-mips-elf/nan-mixed-2.d
@@ -1,5 +1,6 @@
#source: nan-2008.s
#source: nan-legacy.s
+#as: -march=from-abi
#ld: -r
#error: \A[^\n]*: [^\n]* linking -mnan=legacy module with previous -mnan=2008 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d b/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d
index 3baf228..e3cc14e 100644
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d
@@ -17,6 +17,6 @@ Disassembly of section \.text:
4101c: 27391020 addiu t9,t9,4128
00041020 <foo2>:
- 41020: 03e00008 jr ra
+ 41020: 03e0000[89] jr ra
41024: 00000000 nop
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/reloc-3.d b/ld/testsuite/ld-mips-elf/reloc-3.d
index 1ec51c5..0215016 100644
--- a/ld/testsuite/ld-mips-elf/reloc-3.d
+++ b/ld/testsuite/ld-mips-elf/reloc-3.d
@@ -1,5 +1,5 @@
#name: R_MIPS16_GPREL reloc
-#source: ../../../gas/testsuite/gas/mips/elf-rel6.s
+#source: ../../../gas/testsuite/gas/mips/elf-rel6.s -march=from-abi
#objdump: --prefix-addresses -tdr --show-raw-insn
#ld: -Ttext 0x20000000 -e 0x20000000 -N