Hi,
A patch in instcombine to transform ((A | ~B) ^ (~A | B)) -> A ^ B.
Please review the patch.
Proof
$ cat t.cvc
A, B : BITVECTOR(32);
QUERY BVXOR((A | ~B),(~A |B)) = BVXOR(A,B);
$ cvc3 t.cvc
Valid.
Differential D4883
InstCombine ((A | ~B) ^ (~A | B)) to A ^ B mayurp on Aug 13 2014, 7:26 AM. Authored by
Details Hi, Proof
Diff Detail Event Timeline
Comment Actions Hi David, Thanks, Comment Actions Hi David, Thanks a lot for the review. Can you please commit this on my behalf. I dont have commit access as of now. Thanks, |
You have what appear to be eight different patterns you are trying to match. Are you sure we need all of them? What happens if you ran a reassociate pass first?