+ run_dump_test "pcrel-reloc-1"
+ run_dump_test "pcrel-reloc-1-r6"
+ run_dump_test "pcrel-reloc-2"
+ run_dump_test "pcrel-reloc-2-r6"
+ run_dump_test "pcrel-reloc-3"
+ run_dump_test "pcrel-reloc-3-r6"
+ run_dump_test "pcrel-reloc-4"
+ run_dump_test "pcrel-reloc-4-r6"
+ run_dump_test "pcrel-reloc-5"
+ run_dump_test "pcrel-reloc-5-r6"
+ run_dump_test "pcrel-reloc-6"
+ run_list_test "pcrel-reloc-6" "-32 --defsym offset=4" \
+ "MIPS local PC-relative relocations 6b"
+
+ run_dump_test_arches "mips16-pcrel-0" [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-1" [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-2" [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-3" [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-4" [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-5" [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-pic-0" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-pic-1" \
+ [mips_arch_list_matching mips16-64]
+ if $has_newabi {
+ run_dump_test_arches "mips16-pcrel-n32-0" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-n32-1" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-n64-sym32-0" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-n64-sym32-1" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-n64-0" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-n64-1" \
+ [mips_arch_list_matching mips16-64]
+ }
+ run_dump_test_arches "mips16-pcrel-delay-0" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-delay-1" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test "mips16-pcrel-relax-0"
+ run_dump_test "mips16-pcrel-relax-1"
+ run_dump_test "mips16-pcrel-relax-2"
+ run_dump_test "mips16-pcrel-relax-3"
+ run_dump_test_arches "mips16-pcrel-reloc-0" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-reloc-1" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-reloc-2" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-reloc-3" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-reloc-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-reloc-5" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-reloc-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-reloc-7" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-0" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-addend-1" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-addend-2" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-addend-3" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-addend-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-5" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-7" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-8" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-addend-9" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-pic-8" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-addend-pic-9" \
+ [mips_arch_list_matching mips16-64]
+ if $has_newabi {
+ run_dump_test_arches "mips16-pcrel-addend-n32-8" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-n32-9" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-n64-sym32-8" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-n64-sym32-9" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-n64-8" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-addend-n64-9" \
+ [mips_arch_list_matching mips16-64]
+ }
+ run_dump_test_arches "mips16-pcrel-absolute" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-absolute-1" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-absolute-2" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-3" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-4" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-absolute-5" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-absolute-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-7" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-4" \
+ [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-6" \
+ [mips_arch_list_matching mips16-64]
+ if $has_newabi {
+ run_dump_test_arches "mips16-pcrel-absolute-n32-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-n32-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-n64-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-n64-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-n64-sym32-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-n64-sym32-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-n32-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-n32-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-n64-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-n64-6" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-n64-sym32-4" \
+ [mips_arch_list_matching mips16-64]
+ run_dump_test_arches "mips16-pcrel-absolute-pic-n64-sym32-6" \
+ [mips_arch_list_matching mips16-64]
+ }
+ run_dump_test "mips16-branch-reloc-0"
+ run_dump_test "mips16-branch-reloc-1"
+ run_dump_test "mips16-branch-reloc-2"
+ run_dump_test "mips16-branch-reloc-3"
+ run_dump_test "mips16-branch-addend-0"
+ run_dump_test "mips16-branch-addend-1"
+ run_dump_test "mips16-branch-addend-2"
+ run_dump_test "mips16-branch-addend-3"
+ run_dump_test "mips16-branch-addend-4"
+ run_dump_test "mips16-branch-addend-5"
+ run_dump_test "mips16-branch-absolute"
+ run_dump_test "mips16-branch-absolute-1"
+ run_dump_test "mips16-branch-absolute-2"
+ run_dump_test "mips16-branch-absolute-addend"
+ run_dump_test "mips16-branch-absolute-addend-1"
+ if $has_newabi {
+ run_dump_test "mips16-branch-absolute-n32"
+ run_dump_test "mips16-branch-absolute-n32-1"
+ run_dump_test "mips16-branch-absolute-n32-2"
+ run_dump_test "mips16-branch-absolute-addend-n32"
+ run_dump_test "mips16-branch-absolute-addend-n32-1"
+ run_dump_test "mips16-branch-absolute-n64"
+ run_dump_test "mips16-branch-absolute-n64-1"
+ run_dump_test "mips16-branch-absolute-n64-2"
+ run_dump_test "mips16-branch-absolute-addend-n64"
+ run_dump_test "mips16-branch-absolute-addend-n64-1"
+ }
+ run_dump_test "mips16-absolute-reloc-0"
+ run_dump_test "mips16-absolute-reloc-1"
+ run_dump_test "mips16-absolute-reloc-2"
+ run_dump_test "mips16-absolute-reloc-3"
+
+ run_dump_test_arches "attr-gnu-4-0" "-32" \
+ [mips_arch_list_matching mips1]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-gnu-4-0" "-64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_dump_test_arches "attr-gnu-4-0" "-mfp32 -32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_dump_test_arches "attr-gnu-4-0" "-mfpxx -32" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_dump_test_arches "attr-gnu-4-0" "-mfp64 -32" \
+ [mips_arch_list_matching mips32r2]
+ run_dump_test_arches "attr-gnu-4-0" "-mfp64 -mno-odd-spreg -32" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-gnu-4-0" "-mfp64 -64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_dump_test_arches "attr-gnu-4-0" "-msingle-float -32" \
+ [mips_arch_list_matching mips1]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-gnu-4-0" "-msingle-float -64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_dump_test_arches "attr-gnu-4-0" "-msoft-float -32" \
+ [mips_arch_list_matching mips1]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-gnu-4-0" "-msoft-float -64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_dump_test_arches "attr-none-double" "-32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_dump_test_arches "r6-attr-none-double" "-32" \
+ [mips_arch_list_matching mips32r6]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-none-double" "-64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_dump_test_arches "attr-none-o32-fpxx" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_dump_test_arches "attr-none-o32-fp64" \
+ [mips_arch_list_matching mips32r2]
+ run_dump_test_arches "attr-none-o32-fp64-nooddspreg" \
+ [mips_arch_list_matching mips32r2]
+ run_dump_test_arches "attr-none-single-float" "-32" \
+ [mips_arch_list_matching mips1]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-none-single-float" "-64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_dump_test_arches "attr-none-soft-float" "-32 -msoft-float" \
+ [mips_arch_list_matching mips1]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-none-soft-float" "-64 -msoft-float" \
+ [mips_arch_list_matching mips3]
+ }
+
+ run_list_test_arches "attr-gnu-4-1-mfp64" \
+ "-32 -mfp64 -mno-odd-spreg" \
+ [mips_arch_list_matching mips32r2]
+ run_list_test_arches "attr-gnu-4-1-mfp64" "-32 -mfp64" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_list_test_arches "attr-gnu-4-1-mfp32" "-64 -mfp32" \
+ [mips_arch_list_matching mips3 !mips64r6]
+ }
+ run_list_test_arches "attr-gnu-4-1-msingle-float" "-32 -msingle-float" \
+ [mips_arch_list_matching mips1]
+ run_list_test_arches "attr-gnu-4-1-msoft-float" "-32 -msoft-float" \
+ [mips_arch_list_matching mips1]
+ run_dump_test_arches "attr-gnu-4-1" "-32 -mfpxx" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_dump_test_arches "attr-gnu-4-1" "-32 -mfp32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-gnu-4-1" "-64 -mfp64" \
+ [mips_arch_list_matching mips3]
+ }
+
+ run_list_test_arches "attr-gnu-4-2-mdouble-float" "-32 -mfp32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_list_test_arches "attr-gnu-4-2-mdouble-float" "-32 -mfpxx" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_list_test_arches "attr-gnu-4-2-mdouble-float" "-32 -mfp64" \
+ [mips_arch_list_matching mips32r2]
+ run_list_test_arches "attr-gnu-4-2-mdouble-float" \
+ "-32 -mfp64 -mno-odd-spreg" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_list_test_arches "attr-gnu-4-2-mdouble-float" "-64 -mfp64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_list_test_arches "attr-gnu-4-2-msoft-float" "-32 -msoft-float" \
+ [mips_arch_list_matching mips1]
+ run_dump_test_arches "attr-gnu-4-2" "-32" \
+ [mips_arch_list_matching mips1]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-gnu-4-2" "-64" \
+ [mips_arch_list_matching mips3]
+ }
+
+ run_list_test_arches "attr-gnu-4-3-mhard-float" "-32 -mfp32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_list_test_arches "attr-gnu-4-3-mhard-float" "-32 -mfpxx" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_list_test_arches "attr-gnu-4-3-mhard-float" "-32 -mfp64" \
+ [mips_arch_list_matching mips32r2]
+ run_list_test_arches "attr-gnu-4-3-mhard-float" \
+ "-32 -mfp64 -mno-odd-spreg" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_list_test_arches "attr-gnu-4-3-mhard-float" "-64 -mfp64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_list_test_arches "attr-gnu-4-3-mhard-float" "-32 -msingle-float" \
+ [mips_arch_list_matching mips1]
+ run_dump_test_arches "attr-gnu-4-3" "-32" \
+ [mips_arch_list_matching mips1]
+ if { $has_newabi } {
+ run_dump_test_arches "attr-gnu-4-3" "-64" \
+ [mips_arch_list_matching mips3]
+ }
+
+ run_list_test_arches "attr-gnu-4-4" "-32 -mfp32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_list_test_arches "attr-gnu-4-4" "-32 -mfpxx" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_list_test_arches "attr-gnu-4-4" "-32 -mfp64" \
+ [mips_arch_list_matching mips32r2]
+ run_list_test_arches "attr-gnu-4-4" "-32 -mfp64 -mno-odd-spreg" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_list_test_arches "attr-gnu-4-4" "-64 -mfp64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_list_test_arches "attr-gnu-4-4" "-32 -msingle-float" \
+ [mips_arch_list_matching mips1]
+ run_list_test_arches "attr-gnu-4-4" "-32 -msoft-float" \
+ [mips_arch_list_matching mips1]
+
+ run_list_test_arches "attr-gnu-4-5" "-32 -mfp32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_list_test_arches "attr-gnu-4-5" "-32 -mfp64" \
+ [mips_arch_list_matching mips32r2]
+ run_list_test_arches "attr-gnu-4-5" "-32 -mfp64 -mno-odd-spreg" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_list_test_arches "attr-gnu-4-5-64" "-64 -mfp64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_list_test_arches "attr-gnu-4-5-msingle-float" "-32 -msingle-float" \
+ [mips_arch_list_matching mips1]
+ run_list_test_arches "attr-gnu-4-5-msoft-float" "-32 -msoft-float" \
+ [mips_arch_list_matching mips1]
+ run_dump_test_arches "attr-gnu-4-5" \
+ [mips_arch_list_matching mips2 !r5900]
+
+ run_list_test_arches "attr-gnu-4-6" "-32 -mfp32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_list_test_arches "attr-gnu-4-6-noodd" "-32 -mfp64 -mno-odd-spreg" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_list_test_arches "attr-gnu-4-6-64" "-64 -mfp64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_list_test_arches "attr-gnu-4-6-msingle-float" "-32 -msingle-float" \
+ [mips_arch_list_matching mips1]
+ run_list_test_arches "attr-gnu-4-6-msoft-float" "-32 -msoft-float" \
+ [mips_arch_list_matching mips1]
+ run_list_test_arches "attr-gnu-4-6" "-32 -mfpxx" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_dump_test_arches "attr-gnu-4-6" "-32 -mfp64" \
+ [mips_arch_list_matching mips32r2]
+
+ run_list_test_arches "attr-gnu-4-7" "-32 -mfp32" \
+ [mips_arch_list_matching mips1 !mips32r6]
+ run_list_test_arches "attr-gnu-4-7-odd" "-32 -mfp64" \
+ [mips_arch_list_matching mips32r2]
+ if { $has_newabi } {
+ run_list_test_arches "attr-gnu-4-7-64" "-64 -mfp64" \
+ [mips_arch_list_matching mips3]
+ }
+ run_list_test_arches "attr-gnu-4-7-msingle-float" "-32 -msingle-float" \
+ [mips_arch_list_matching mips1]
+ run_list_test_arches "attr-gnu-4-7-msoft-float" "-32 -msoft-float" \
+ [mips_arch_list_matching mips1]
+ run_list_test_arches "attr-gnu-4-7" "-32 -mfpxx" \
+ [mips_arch_list_matching mips2 !r5900]
+ run_dump_test_arches "attr-gnu-4-7" "-32 -mfp64 -mno-odd-spreg" \
+ [mips_arch_list_matching mips32r2]
+