> Endianness in the BYTES_BIG_ENDIAN sense shouldn't be a problem AFAIK. > We just need to worry about BITS_BIG_ENDIAN. For: > > ({sign,zero}_extract:m X len pos) > > "pos" counts from the lsb if !BITS_BIG_ENDIAN and from the msb if > BITS_BIG_ENDIAN. So I think the condition should be something like: > > pos == (BITS_BIG_ENDIAN ? GET_MODE_PRECISION (m) - len : 0) > > Agreed that it makes sense to handle ZERO_EXTRACT in the same way.
Agreed, here is the new patch which includes the new shifting code predicate. I'll post the rtl analysis part in another request. Thanks, Yvan
arm-lra.patch
Description: Binary data