Comment 3 for bug 721531

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [armel] Confirmed toolchain regression when using & in an if statement on a function

Here's what gdb shows:

Breakpoint 1, main () at testcase.c:4
4 void *p = main;
(gdb) disas
Dump of assembler code for function main:
   0x00008390 <+0>: push {r7, lr}
   0x00008392 <+2>: sub sp, #8
   0x00008394 <+4>: add r7, sp, #0
=> 0x00008396 <+6>: movw r3, #33681 ; 0x8391
   0x0000839a <+10>: movt r3, #0
   0x0000839e <+14>: str r3, [r7, #4]
   0x000083a0 <+16>: ldr r3, [r7, #4]
   0x000083a2 <+18>: and.w r3, r3, #1
   0x000083a6 <+22>: uxtb r3, r3
   0x000083a8 <+24>: cmp r3, #0
   0x000083aa <+26>: beq.n 0x83b8 <main+40>
   0x000083ac <+28>: movw r0, #33808 ; 0x8410
   0x000083b0 <+32>: movt r0, #0
   0x000083b4 <+36>: blx 0x8304 <puts>
   0x000083b8 <+40>: add.w r7, r7, #8
   0x000083bc <+44>: mov sp, r7
   0x000083be <+46>: pop {r7, pc}
End of assembler dump.