On Mon, 2011-04-18 at 22:17 +0800, Carrot Wei wrote: > On Mon, Apr 18, 2011 at 9:33 PM, Richard Earnshaw <rearn...@arm.com> wrote: > > > > On Sat, 2011-04-16 at 12:34 +0800, Carrot Wei wrote: > >> Hi Richard > >> > >> Thank you for the detailed explanation. It sounds like an inherent > >> difficulty of rtl passes. Then the only opportunity is ldrb/strb > >> instructions because they never affect cc registers. > > > > There are also some comparison operations that are also known to be 2 > > bytes (because they are known to set the condition codes). But yes, the > > scope here is quite limited. > > > > R. > > So now this version only computes the correct length of ldrd/strb in insn > arm_movqi_insn. Tested on arm qemu without regression. > > thanks > Carrot > > > ChangeLog: > 2011-04-18 Wei Guozhi <car...@google.com> > > PR target/47855 > * config/arm/arm-protos.h (thumb1_legitimate_address_p): New > prototype. > * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static > linkage. > * config/arm/constraints.md (Uu): New constraint. > * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
OK. R.