[PATCH 5/5] rs6000: Do not allow TImode with -m32 -mpowerpc64

Segher Boessenkool segher@kernel.crashing.org
Thu Jan 15 04:37:00 GMT 2015


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  <segher@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



More information about the Gcc-patches mailing list