diff options
author | Marcus Shawcroft <marcus.shawcroft@arm.com> | 2014-06-30 07:54:59 +0000 |
---|---|---|
committer | Marcus Shawcroft <mshawcroft@gcc.gnu.org> | 2014-06-30 07:54:59 +0000 |
commit | 21a7b5e1dbb59c6ff055aa3240e52916790ec305 (patch) | |
tree | 7fa66772c1b413d0a1c56cfa5ab2674e9a947586 /gcc/c/c-array-notation.c | |
parent | 85c00e0b91c40959852cbd7a0cacc85f2663ceee (diff) | |
download | gcc-21a7b5e1dbb59c6ff055aa3240e52916790ec305.zip gcc-21a7b5e1dbb59c6ff055aa3240e52916790ec305.tar.gz gcc-21a7b5e1dbb59c6ff055aa3240e52916790ec305.tar.bz2 |
[AArch64] Fix register clobber in, aarch64_ashr_sisd_or_int_<mode>3 split.
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.
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.
From-SVN: r212137
Diffstat (limited to 'gcc/c/c-array-notation.c')
0 files changed, 0 insertions, 0 deletions