TImode for TARGET_32BIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219754
138bc75d-0d04-0410-961f-
82ee72b054a4
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
+ * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
+ TImode for TARGET_32BIT.
+
+2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
+
* config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
as ...
static bool
rs6000_scalar_mode_supported_p (machine_mode mode)
{
+ /* -m32 does not support TImode. This is the default, from
+ default_scalar_mode_supported_p. For -m32 -mpowerpc64 we want the
+ same ABI as for -m32. But default_scalar_mode_supported_p allows
+ integer modes of precision 2 * BITS_PER_WORD, which matches TImode
+ for -mpowerpc64. */
+ if (TARGET_32BIT && mode == TImode)
+ return false;
+
if (DECIMAL_FLOAT_MODE_P (mode))
return default_decimal_float_supported_p ();
else