This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/45804] ARM: unnecessary sign extension


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]