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