[gcc(refs/users/meissner/heads/work068)] Limit XXSPLTIDP for integer constants to 0x80000000.
Michael Meissner
meissner@gcc.gnu.org
Tue Sep 14 17:04:35 GMT 2021
https://gcc.gnu.org/g:6284a86c207cba2f5b819cdecc8ad2bf63f10e5c
commit 6284a86c207cba2f5b819cdecc8ad2bf63f10e5c
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Sep 14 13:04:14 2021 -0400
Limit XXSPLTIDP for integer constants to 0x80000000.
2021-09-14 Michael Meissner <meissner@linux.ibm.com>
gcc/
* config/rs6000/predicates.md (easy_fp_constant_float_to_v2df):
Limit XXSPLTIDP for integer constants to 0x80000000.
Diff:
---
gcc/config/rs6000/predicates.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md
index 635a08ec8d6..edd64eab1e6 100644
--- a/gcc/config/rs6000/predicates.md
+++ b/gcc/config/rs6000/predicates.md
@@ -666,10 +666,16 @@
HOST_WIDE_INT df_value = INTVAL (element);
long df_words[2];
+#if 0
/* Stay away from NaNs and denormal values. */
int exponent = (df_value >> 52) & 0x7ff;
if (exponent == 0 || exponent == 0x7ff)
return false;
+#else
+ /* For now, only handle -0.0. */
+ if (df_value != 0x80000000)
+ return false;
+#endif
df_words[0] = (df_value >> 32) & 0xffffffff;
df_words[1] = df_value & 0xffffffff;
More information about the Gcc-cvs
mailing list