&algorithm, &variant, cost)
: cost < mul_cost (speed, mode))
{
- target = bit0_p ? expand_and (mode, negate_rtx (mode, op0),
- op1, target)
- : expand_and (mode, op0,
- negate_rtx (mode, op1),
- target);
- return REDUCE_BIT_FIELD (target);
+ temp = bit0_p ? expand_and (mode, negate_rtx (mode, op0),
+ op1, target)
+ : expand_and (mode, op0,
+ negate_rtx (mode, op1),
+ target);
+ return REDUCE_BIT_FIELD (temp);
}
}
}
--- /dev/null
+/* PR rtl-optimization/114054 */
+/* { dg-do compile { target bitint } } */
+/* { dg-options "-Og -fwhole-program -fno-tree-ccp -fprofile-use -fno-tree-copy-prop -w" } */
+
+int x;
+
+void
+foo (int i, unsigned u)
+{
+ x = __builtin_mul_overflow_p ((unsigned _BitInt(1)) u, i, (_BitInt(33)) 0);
+}
+
+int
+main ()
+{
+ foo (11, 0);
+}