+2013-06-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config.gcc (mips*-mti-linux*, mips64*-*-linux*, mipsisa64*-*-linux*)
+ (mips*-*-linux*): Move default with_llsc setting to where other
+ defaults are set.
+ (mips*-*-vxworks*): Move with_arch default from with_cpu block to
+ with_arch block.
+ (mips64r5900-*-*, mips64r5900el-*-*, mipsr5900-*-*, mipsr5900el-*-*):
+ Likewise. Remove default with_tune setting. Move default float
+ setting to its own block. Handle with_llsc in the same block as above.
+
2013-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
PR rtl-optimization/57425
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
gnu_ld=yes
gas=yes
- test x$with_llsc != x || with_llsc=yes
;;
mips64*-*-linux* | mipsisa64*-*-linux*)
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h mips/linux-common.h"
esac
gnu_ld=yes
gas=yes
- test x$with_llsc != x || with_llsc=yes
;;
mips*-*-linux*) # Linux MIPS, either endian.
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h"
mipsisa32*)
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
esac
- test x$with_llsc != x || with_llsc=yes
;;
mips*-mti-elf*)
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/sde.h mips/mti-elf.h"
;;
esac
;;
- mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
- with_arch=r5900
- with_tune=r5900
- if test x$with_llsc = x; then
- # r5900 doesn't support ll, sc, lld and scd instructions:
- with_llsc=no
- fi
- if test x$with_float = x; then
- # r5900 doesn't support 64 bit float:
- # 32 bit float doesn't comply with IEEE 754.
- with_float=soft
- fi
- ;;
- mips*-*-vxworks)
- with_arch=mips2
- ;;
powerpc*-*-*spe*)
if test x$enable_e500_double = xyes; then
with_cpu=8548
x86_64-*-*)
with_arch=$arch
;;
+ mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
+ with_arch=r5900
+ ;;
+ mips*-*-vxworks)
+ with_arch=mips2
+ ;;
esac
# Avoid overriding --with-arch-32 and --with-arch-64 values.
esac
fi
+# Infer a default setting for --with-float.
+if test x$with_float = x; then
+ case ${target} in
+ mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
+ # The R5900 doesn't support 64-bit float. 32-bit float doesn't
+ # comply with IEEE 754.
+ with_float=soft
+ ;;
+ esac
+fi
+
# Support --with-fpmath.
if test x$with_fpmath != x; then
case ${target} in
esac
fi
+# Infer a default setting for --with-llsc.
+if test x$with_llsc = x; then
+ case ${target} in
+ mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
+ # The R5900 doesn't support LL(D) and SC(D).
+ with_llsc=no
+ ;;
+ mips*-*-linux*)
+ # The kernel emulates LL and SC where necessary.
+ with_llsc=yes
+ ;;
+ esac
+fi
+
# Validate and mark as valid any --with options supported
# by this target. In order to use a particular --with option
# you must list it in supported_defaults; validating the value