public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/61633] New: AArch64 SISD ASHR instruction split clobbers input register.
@ 2014-06-27 15:46 mshawcroft at gcc dot gnu.org
2014-06-30 7:55 ` [Bug target/61633] " mshawcroft at gcc dot gnu.org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: mshawcroft at gcc dot gnu.org @ 2014-06-27 15:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61633
Bug ID: 61633
Summary: AArch64 SISD ASHR instruction split clobbers input
register.
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: mshawcroft at gcc dot gnu.org
The FFT code in Android AAC codec at -O2 is incorrectly compiled resulting in
an infinite loop. I've failed to reduce the test case to something usable but
the problem in the back end is clearly the define_splits associated with
*aarch64_ashr_sisd_or_int_<mode>3. Both of the splits inappropriately use one
of the input operand register as a scratch pad for the negated shift operand.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61633] AArch64 SISD ASHR instruction split clobbers input register.
2014-06-27 15:46 [Bug target/61633] New: AArch64 SISD ASHR instruction split clobbers input register mshawcroft at gcc dot gnu.org
@ 2014-06-30 7:55 ` mshawcroft at gcc dot gnu.org
2014-06-30 11:59 ` mshawcroft at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: mshawcroft at gcc dot gnu.org @ 2014-06-30 7:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61633
--- Comment #1 from mshawcroft at gcc dot gnu.org ---
Author: mshawcroft
Date: Mon Jun 30 07:54:59 2014
New Revision: 212137
URL: https://gcc.gnu.org/viewcvs?rev=212137&root=gcc&view=rev
Log:
[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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.md
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61633] AArch64 SISD ASHR instruction split clobbers input register.
2014-06-27 15:46 [Bug target/61633] New: AArch64 SISD ASHR instruction split clobbers input register mshawcroft at gcc dot gnu.org
2014-06-30 7:55 ` [Bug target/61633] " mshawcroft at gcc dot gnu.org
@ 2014-06-30 11:59 ` mshawcroft at gcc dot gnu.org
2014-06-30 12:00 ` mshawcroft at gcc dot gnu.org
2014-07-01 21:18 ` pinskia at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: mshawcroft at gcc dot gnu.org @ 2014-06-30 11:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61633
--- Comment #2 from mshawcroft at gcc dot gnu.org ---
Author: mshawcroft
Date: Mon Jun 30 11:58:18 2014
New Revision: 212143
URL: https://gcc.gnu.org/viewcvs?rev=212143&root=gcc&view=rev
Log:
[AArch64] Fix register clobber in, aarch64_ashr_sisd_or_int_<mode>3 split.
Backport from Mainline
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.
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/config/aarch64/aarch64.md
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61633] AArch64 SISD ASHR instruction split clobbers input register.
2014-06-27 15:46 [Bug target/61633] New: AArch64 SISD ASHR instruction split clobbers input register mshawcroft at gcc dot gnu.org
2014-06-30 7:55 ` [Bug target/61633] " mshawcroft at gcc dot gnu.org
2014-06-30 11:59 ` mshawcroft at gcc dot gnu.org
@ 2014-06-30 12:00 ` mshawcroft at gcc dot gnu.org
2014-07-01 21:18 ` pinskia at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: mshawcroft at gcc dot gnu.org @ 2014-06-30 12:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61633
mshawcroft at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
Target Milestone|--- |4.9.1
--- Comment #3 from mshawcroft at gcc dot gnu.org ---
Fixed in trunk, back ported to 4.9 branch.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61633] AArch64 SISD ASHR instruction split clobbers input register.
2014-06-27 15:46 [Bug target/61633] New: AArch64 SISD ASHR instruction split clobbers input register mshawcroft at gcc dot gnu.org
` (2 preceding siblings ...)
2014-06-30 12:00 ` mshawcroft at gcc dot gnu.org
@ 2014-07-01 21:18 ` pinskia at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-07-01 21:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61633
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |janne-gcc at jannau dot net
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 61665 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-07-01 21:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-27 15:46 [Bug target/61633] New: AArch64 SISD ASHR instruction split clobbers input register mshawcroft at gcc dot gnu.org
2014-06-30 7:55 ` [Bug target/61633] " mshawcroft at gcc dot gnu.org
2014-06-30 11:59 ` mshawcroft at gcc dot gnu.org
2014-06-30 12:00 ` mshawcroft at gcc dot gnu.org
2014-07-01 21:18 ` pinskia at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).