> Yeah, but that's because strip_address_mutations doesn't consider > SIGN_EXTRACT to be a "mutation" as things stand. My point was that > I think it should, at least for the special extract-from-lsb case. > It then shouldn't be necessary to handle SIGN_EXTRACT in the other > address-analysis routines. > > (That might be what you meant, sorry, just thought I'd say in case.)
You did well. I wanted to handle it in strip_address_mutation, but misread the code and thought that it wasn't called all the time, but in any case I didn't thought to the endianness issue. I've added ZERO_EXTRACT too in this treatment, but wonder if for the big endian case the third operand has to be taken into account, like this: GET_MODE_PRECISION(mode) - size - pos Thanks, Yvan