This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, ARM] More strictly validate LDRD/STRD peepholes


This patch fixes a bug on ARM where we can end up generating invalid
addresses for the LDRD/STRD peepholes.  We then end up with an ICE later
on when we check the results.  The patch does more strict validation of
the addresses, including having better tests for side effects that we
can't handle.

Tested on arm-linux-gnueabi and applied to trunk.

R.

gcc/
	* arm.c (mem_ok_for_ldrd_strd): Rename first argument as MEM.
	Do more address validation checks.
gcc/testsuite/
	* gcc.target/arm/ldrd-strd-offset.c: New.

Attachment: ldrd-offset-final.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]