------- Additional Comments From sami dot kantoluoto at embedtronics dot fi  
2005-04-23 08:31 -------
Created an attachment (id=8713)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8713&action=view)
A bit more simplified test file with a test code that gets compiled correctly
commented out.

Code that gets compiled _corretly_:
    *(&CPUReg->SVR[c]) = __IntTable[c];

And code that doesn't:
    CPUReg->SVR[c] = __IntTable[c];


Objdump of working code:

test.o:     file format elf32-littlearm

Disassembly of section .text:

00000000 <main>:
   0:   e59f101c        ldr     r1, [pc, #28]   ; 24 <.text+0x24>
   4:   e59f001c        ldr     r0, [pc, #28]   ; 28 <.text+0x28>
   8:   e4912004        ldr     r2, [r1], #4
   c:   e59f3018        ldr     r3, [pc, #24]   ; 2c <.text+0x2c>
  10:   e1510003        cmp     r1, r3
  14:   e4802004        str     r2, [r0], #4
  18:   1a000000        bne     8 <main+0x8>
  1c:   e3a00000        mov     r0, #0  ; 0x0
  20:   e12fff1e        bx      lr

(this could be optimized by not reloading the r3 every loop).


-- 


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

Reply via email to