RX: 4.5 branch: Fix alignment and addressing issues.
Nick Clifton
nickc@redhat.com
Wed Mar 16 11:47:00 GMT 2011
Hi Guys,
I am checking in the attached patch to fix some regressions in the RX
port with regard to alignment and addressing modes. With this patch
applied I have 18 fewer failures in the GCC testsuite.
Cheers
Nick
gcc/ChangeLog
2011-03-16 Nick Clifton <nickc@redhat.com>
* config/rx/rx.h (JUMP_ALIGN): Define.
(JUMP_ALIGN_MAX_SKIP, LABEL_ALIGN_AFTER_BARRIER, LOOP_ALIGN,
(LABEL_ALIGN, LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP,
(LOOP_ALIGN_MAX_SKIP, LABEL_ALIGN_MAX_SKIP): Define.
* config/rx/rx-protos.h (rx_align_for_label): Prototype.
(rx_max_skip_for_label): Prototype.
* config/rx/rx.md (abssi3): Use CC_ZSmode.
(andis3): Fix timings.
(peephole): Add peephole to combine zero- and sign- extending
loads with arithmetic instructions.
(bset): Fix timing.
(bclr): Fix timing.
* config/rx/rx.c (rx_is_legitimate_address): Add checks for QImode
and HImode reg+int address.
(rx_print_operand): Add support for %R. Fix generation of .B and
.W addressing modes.
(rx_align_for_label): New function.
(rx_max_skip_for_label): New function.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rx.4.5.patch
Type: text/x-patch
Size: 13430 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110316/e2ff99fc/attachment.bin>
More information about the Gcc-patches
mailing list