[Committed][AArch64] Fix register clobber in, aarch64_ashr_sisd_or_int_<mode>3 split.

Marcus Shawcroft marcus.shawcroft@arm.com
Mon Jun 30 07:55:00 GMT 2014


Hi,

Fixing PR target/61633

The two split patterns associated with aarch64_ashr_sisd_or_int_<mode>3 
split the instruction into a NEG followed by an SHL.  The split uses one 
of the input operands as a scratch register to hold the output of the 
NEG resulting in register corruption.

This patch adjusts the splits to use the output operand as the scratch 
register.

Regressed aarch64-none-elf. Committed to trunk as r212137.

Back port to 4.9 coming shortly.

/Marcus


2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>

        PR target/61633
        * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
        Add alternative; make early clobber.  Adjust both split patterns
        to use operand 0 as the working register.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-AArch64-Fix-register-clobber-in-aarch64_ashr_sisd_or.patch
Type: text/x-patch
Size: 2190 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140630/1a30b23a/attachment.bin>


More information about the Gcc-patches mailing list