------- Comment #5 from steven at gcc dot gnu dot org 2009-06-22 17:58 ------- Compiling with gcc 4.4.1 with options "-Os -mtune=cortex-a8" I get this:
.cpu arm7tdmi .fpu softvfp .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 1 .eabi_attribute 30, 4 .eabi_attribute 18, 4 .file "PR40487.c" .text .align 2 .global foo .type foo, %function foo: @ Function supports interworking. @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. add r3, r0, #5 eor r3, r3, r0 and r3, r3, #255 eor r3, r3, r3, asl #2 and r3, r3, #255 eor r3, r3, r3, asl #1 and r0, r3, #255 bx lr .size foo, .-foo .ident "GCC: (GNU) 4.4.1 20090622 (prerelease) [gcc-4_4-branch revision 148809]" which isn't a whole lot better, is it... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40487