This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug inline-asm/42321] NEON/VFP registers from inline assembly clobber list are saved/restored incorrectly
- From: "rearnsha at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Dec 2009 15:55:56 -0000
- Subject: [Bug inline-asm/42321] NEON/VFP registers from inline assembly clobber list are saved/restored incorrectly
- References: <bug-42321-14457@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from rearnsha at gcc dot gnu dot org 2009-12-07 15:55 -------
I can confirm both of these issues.
in asm statements GCC currently just treats 'q4' and 'd8' as aliases for s16
(which of course is just a 32-bit register); there's currently no way of
expressing that a larger entitiy is clobbered. Of course, you won't see that
in the prologue/epilogue code because the whole D register is saved even if
just part of it has been used, but it could cause data-flow related issues
elsewhere.
in asm statements GCC currently just treats 'q4' and 'd8' as aliases for s16
(which of course is just a 32-bit register); there's currently no way of
expressing that a larger entitiy is clobbered. Of course, you won't see that
in the prologue/epilogue code because the whole D register is saved even if
just part of it has been used, but it could cause data-flow related issues
elsewhere.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42321