On Mon, Nov 18, 2019 at 10:44:14AM +0100, Richard Biener wrote: > The following adjusts the find_base_{term,value} heuristic when > looking through ANDs to the case where it is obviously not > aligning a base (when the LSB is set).
What is specific about the LSB? I mean & 2 is obviously not an aligning AND either. Shouldn't we recurse only if the CONST_INT_P operand has some set bits followed by clear bits, i.e. after the != 0 check compute ctz_hwi and verify that INTVAL >> ctz == -1? > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. > > Richard. > > 2019-11-18 Richard Biener <rguent...@suse.de> > > PR rtl-optimization/92462 > * alias.c (find_base_term): Restrict the look through ANDs. > (find_base_value): Likewise. Jakub