Fix low reg issue in Thumb-2 movsi patterns
The Thumb-2 movsi patterns try to prefer low registers for loads and stores. However this is done incorrectly by using 2 separate variants with 'l' and 'h' register classes. The register allocator will only use low registers, and as a result we end up with significantly more spills and moves to high registers. Fix this by merging the alternatives and use 'l*r' to indicate preference for low registers. This saves ~400 instructions from the pr77308 testcase. gcc/ * config/arm/thumb2.md (thumb2_movsi_insn): Fix load/store low reg. * config/arm/vfp.md (thumb2_movsi_vfp): Likewise. From-SVN: r273802
Showing
Please
register
or
sign in
to comment