This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/45804] ARM: unnecessary sign extension
- From: "rearnsha at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 27 Sep 2010 16:30:42 +0000
- Subject: [Bug target/45804] ARM: unnecessary sign extension
- Auto-submitted: auto-generated
- References: <bug-45804-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45804
Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |rearnsha at gcc dot gnu.org
Resolution| |INVALID
--- Comment #1 from Richard Earnshaw <rearnsha at gcc dot gnu.org> 2010-09-27 16:30:35 UTC ---
This particular case is invalid.
The ARM ABI requires that short and char result types are extended to 32 bits
(using signed or unsigned extension as appropriate) before being returned.
Since the compiler can't see inside the asm block to work out what is being
done it cannot remove the uxth instruction on the result.
This does not mean that some of your x-refed reports are invalid though.