(plus (bit_not @0) @0) if (INTEGRAL_TYPE_P (TREE_TYPE (@0))) { build_int_cst (TREE_TYPE (@0), -1); }) +(match_and_simplify + (plus @0 (bit_not @0)) + if (INTEGRAL_TYPE_P (TREE_TYPE (@0))) + { build_int_cst (TREE_TYPE (@0), -1); })
Why not just: (match_and_simplify (plus @0 (bit_not @0)) { build_all_ones_cst (TREE_TYPE (@0)); })? Works for vector/complex, I don't know what type a bit_not_expr can have where the simplification wouldn't be true.
-- Marc Glisse