MIPS: Set r6 as default arch if vendor is img

This behavior is used by downstream toolchain since 2014,
and has been in GCC since the same year.

We don't support mips64*-img* due to GCC doesn't support it,
and we believe that the multilib should be used for this case.
This commit is contained in:
YunQiang Su
2023-11-24 17:39:55 +08:00
committed by Nick Clifton
parent 53302c2d33
commit 070961b377
5 changed files with 15 additions and 3 deletions

View File

@@ -1550,7 +1550,7 @@ case "${targ_defvec} ${targ_selvecs}" in
esac
case "${targ}" in
mipsisa32r6* | mipsisa64r6*)
mipsisa32r6* | mipsisa64r6* | mips*-img-*)
targ_cflags="$targ_cflags -DMIPS_DEFAULT_R6=1"
;;
esac

6
gas/configure vendored
View File

@@ -12264,6 +12264,12 @@ _ACEOF
use_ef_mips_abi_o32=1
;;
esac
# If Vendor is IMG, then MIPSr6 is used
case ${target} in
mips*-img-*)
mips_cpu=mips32r6
;;
esac
# Decide whether to generate 32-bit or 64-bit code by default.
# Used to resolve -march=from-abi when an embedded ABI is selected.
case ${target} in

View File

@@ -382,6 +382,12 @@ changequote([,])dnl
use_ef_mips_abi_o32=1
;;
esac
# If Vendor is IMG, then MIPSr6 is used
case ${target} in
mips*-img-*)
mips_cpu=mips32r6
;;
esac
# Decide whether to generate 32-bit or 64-bit code by default.
# Used to resolve -march=from-abi when an embedded ABI is selected.
case ${target} in

View File

@@ -473,7 +473,7 @@ mips_arch_create mips32r5 32 mips32r3 { fpisa3 fpisa4 fpisa5 ror } \
mips_arch_create mips32r6 32 mips32r5 { fpisa3 fpisa4 fpisa5 ror } \
{ -march=mips32r6 -mtune=mips32r6 --defsym r6=} \
{ -mmips:isa32r6 } \
{ mipsisa32r6-*-* mipsisa32r6el-*-* }
{ mipsisa32r6-*-* mipsisa32r6el-*-* mips*-img-* }
mips_arch_create mips64 64 mips5 { mips32 } \
{ -march=mips64 -mtune=mips64 } { -mmips:isa64 } \
{ mipsisa64-*-* mipsisa64el-*-* }

View File

@@ -1,5 +1,5 @@
#name: .module deferred warnings 2 (pre-R2)
#source: module-defer-warn2.s
#as: -32
#skip: mipsisa32r?* mipsisa64r?*
#skip: mipsisa32r?* mipsisa64r?* mips*-img-*
#error_output: module-defer-warn2.l