On 07/27/2011 07:29 PM, H.J. Lu wrote:
If IRNORE_ADDRESS_WRAP_AROUND is TRUE, we + also permute the conversion and addition of a constant. It is used to + optimize cases where overflow of base + constant offset won't happen or + its behavior is implementation-defined for a given target. */
Regarding correctness: you're converting a SImode operation to DImode by "pushing in" the zero_extend operation. What makes you think that base + constant offset won't overflow in any case?
And also: what are you gaining by allowing the wrap around? I don't need to know what ignore_address_wrap_around does, I need to know _why_ it is necessary.
DO NOT post another patch. Answer questions in English, here, please. Paolo