On 12 October 2016 at 13:09, Prathamesh Kulkarni
> I was having a look at PR71636 and added the following pattern to match.pd:
> x & ((1U << b) - 1) -> x & ~(~0U << b)
> However the transform is useful only if the target supports "andnot"
> As pointed out by Marc in PR for -march=core2, lhs generates worse
> code than rhs,
oops, I meant to say rhs generates worse code than lhs for target not
> so we shouldn't do the transform if target doesn't support andnot insn.
> (perhaps we could do the reverse transform for target not supporting andnot?)
> However it seems andnot isn't a standard pattern name, so am not sure
> how to check
> if target supports andnot insn ?