do_shift:
gcc_assert (n_args >= 2);
if (!gimple_call_lhs (stmt))
- break;
+ {
+ gsi_replace (gsi, gimple_build_nop (), false);
+ return true;
+ }
arg0 = gimple_call_arg (stmt, 0);
arg1 = gimple_call_arg (stmt, 1);
elems = TYPE_VECTOR_SUBPARTS (TREE_TYPE (arg0));
case IX86_BUILTIN_PABSD256_MASK:
gcc_assert (n_args >= 1);
if (!gimple_call_lhs (stmt))
- break;
+ {
+ gsi_replace (gsi, gimple_build_nop (), false);
+ return true;
+ }
arg0 = gimple_call_arg (stmt, 0);
elems = TYPE_VECTOR_SUBPARTS (TREE_TYPE (arg0));
/* For masked ABS, only optimize if the mask is all ones. */
--- /dev/null
+/* PR target/112962 */
+/* { dg-do compile } */
+/* { dg-options "-fexceptions -mssse3" } */
+
+typedef int __attribute__((__vector_size__ (16))) V;
+
+void
+foo (void)
+{
+ __builtin_ia32_pabsd128 ((V) {});
+}