This fixes 141 FAILs. -mpowerpc64 does not change the ABI, but default_scalar_mode_supported_p does not know that, and allows TImode for -m32 -mpowerpc64.
This fixes it. Okay for mainline? 2015-01-14 Segher Boessenkool <seg...@kernel.crashing.org> gcc/ * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow TImode for TARGET_32BIT. --- gcc/config/rs6000/rs6000.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 6c91f3c..8fa9a22 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -31960,6 +31960,10 @@ rs6000_eh_return_filter_mode (void) static bool rs6000_scalar_mode_supported_p (machine_mode mode) { + /* For -m32 -mpowerpc64 we want the same ABI as for -m32. */ + if (TARGET_32BIT && mode == TImode) + return false; + if (DECIMAL_FLOAT_MODE_P (mode)) return default_decimal_float_supported_p (); else -- 1.8.1.4