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/48863] A Bug When Assembler Instructions with C Expression Operands in arm-elf-gcc 4.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48863

Mikael Pettersson <mikpe at it dot uu.se> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikpe at it dot uu.se

--- Comment #1 from Mikael Pettersson <mikpe at it dot uu.se> 2011-05-04 08:48:23 UTC ---
I see this on armv5tel-linux-gnueabi too, with the glibc-ports-2.10.1
definition of the syscall wrapper macros.  It seems to be caused by / being
expanded to a libcall by the backend.  If I move the "/ 23" expression to a
helper function and make that noinline, then the division does occur well
before the swi registers are set up.  Without the noinline a call to
__aeabi_uldivmod occurs just before the swi, clobbering some of its parameters.


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