+2014-03-12 Jakub Jelinek <jakub@redhat.com>
+ Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/60502
+ * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
+ instead of build_low_bits_mask.
+
2014-03-12 Jakub Jelinek <jakub@redhat.com>
PR middle-end/60482
+2014-03-12 Jakub Jelinek <jakub@redhat.com>
+ Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/60502
+ * gcc.c-torture/compile/pr60502.c: New test.
+
2014-03-12 Jakub Jelinek <jakub@redhat.com>
PR middle-end/60482
--- /dev/null
+/* PR tree-optimization/60502 */
+
+typedef signed char v16i8 __attribute__ ((vector_size (16)));
+typedef unsigned char v16u8 __attribute__ ((vector_size (16)));
+
+void
+foo (v16i8 *x)
+{
+ v16i8 m1 = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
+ *x |= *x ^ m1;
+}
+
+void
+bar (v16u8 *x)
+{
+ v16u8 m1 = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
+ *x |= *x ^ m1;
+}
if (opcode == BIT_AND_EXPR)
oe->op = build_zero_cst (TREE_TYPE (oe->op));
else if (opcode == BIT_IOR_EXPR)
- oe->op = build_low_bits_mask (TREE_TYPE (oe->op),
- TYPE_PRECISION (TREE_TYPE (oe->op)));
+ oe->op = build_all_ones_cst (TREE_TYPE (oe->op));
reassociate_stats.ops_eliminated += ops->length () - 1;
ops->truncate (0);