From d63d9c3dd160dce24f0209f193b8e7388b19f712 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 20 Jan 2022 14:34:33 +0100 Subject: [PATCH] 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 PR target/100784 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for LHS before folding __builtin_ia32_shufpd and friends. --- gcc/config/i386/i386.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc index af82886..ad5a5ca 100644 --- a/gcc/config/i386/i386.cc +++ b/gcc/config/i386/i386.cc @@ -18710,7 +18710,7 @@ ix86_gimple_fold_builtin (gimple_stmt_iterator *gsi) gimple_call_arg (stmt, n_args - 1))) break; arg2 = gimple_call_arg (stmt, 2); - if (TREE_CODE (arg2) == INTEGER_CST) + if (TREE_CODE (arg2) == INTEGER_CST && gimple_call_lhs (stmt)) { unsigned HOST_WIDE_INT shuffle_mask = TREE_INT_CST_LOW (arg2); /* Check valid imm, refer to gcc.target/i386/testimm-10.c. */ -- 2.7.4