[gcc r11-9581] target/100784 - avoid ICE with folding __builtin_ia32_shufpd
Richard Biener
rguenth@gcc.gnu.org
Thu Feb 17 09:06:26 GMT 2022
https://gcc.gnu.org/g:2b1b5b16f3b45647b1be87cbbe7fe8b4b854b7c3
commit r11-9581-g2b1b5b16f3b45647b1be87cbbe7fe8b4b854b7c3
Author: Richard Biener <rguenther@suse.de>
Date: Thu Jan 20 14:34:33 2022 +0100
target/100784 - avoid ICE with folding __builtin_ia32_shufpd
This avoids ICEing when there is no LHS on the call by following
what foldings of other builtins do in , namely not folding.
2022-01-20 Richard Biener <rguenther@suse.de>
PR target/100784
* config/i386/i386.c (ix86_gimple_fold_builtin): Check for
LHS before folding __builtin_ia32_shufpd and friends.
(cherry picked from commit d63d9c3dd160dce24f0209f193b8e7388b19f712)
Diff:
---
gcc/config/i386/i386.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 3ef209169dd..5ddad92ad04 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -18247,7 +18247,7 @@ ix86_gimple_fold_builtin (gimple_stmt_iterator *gsi)
case IX86_BUILTIN_SHUFPD:
arg2 = gimple_call_arg (stmt, 2);
- if (TREE_CODE (arg2) == INTEGER_CST)
+ if (TREE_CODE (arg2) == INTEGER_CST && gimple_call_lhs (stmt))
{
location_t loc = gimple_location (stmt);
unsigned HOST_WIDE_INT imask = TREE_INT_CST_LOW (arg2);
More information about the Gcc-cvs
mailing list