On Wed, Dec 07, 2016 at 02:02:17PM +0100, Bernd Schmidt wrote: > On 10/28/2016 03:43 PM, Segher Boessenkool wrote: > >On Fri, Oct 28, 2016 at 01:18:19PM +0200, Bernd Schmidt wrote: > >>In this PR, we manage to simplify the code down to > >> > >>(lt (and (reg) (signbit)) (const 0)) > >> > >>simplify_comparison then calls make_compound_operation on the AND > >>expression, and that turns it into a ZERO_EXTRACT of a single bit, > >>changing the meaning of the comparison. > >> > >>The problem is a special case we have for comparisons in > >>make_compound_operation, it thinks it should convert single-bit ANDs > >>into such extractions. But this is only valid if the bit isn't the sign > >>bit, or if we're testing for equality with zero. > >> > >>The following patch was bootstrapped and tested on x86_64-linux. Ok? > > > >Okay, thanks! > > Branches too?
Sure, after it has soaked on trunk for a while. Segher