diff options
author | segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-16 16:46:32 +0000 |
---|---|---|
committer | segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-16 16:46:32 +0000 |
commit | ee5701b74263cd223438f4e1968dc4abea2cf1cc (patch) | |
tree | 6e7815c58de3e4765abbbb27d9905c301f0de4e4 /gcc/config/rs6000 | |
parent | 82c9887bc99e42001a269263b58f993cfd3d115a (diff) |
* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
TImode for TARGET_32BIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219754 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 3a463330370..3926b079523 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -31967,6 +31967,14 @@ rs6000_eh_return_filter_mode (void) 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 |