This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> With -Os: > > 21 0000 38309FE5 ldr r3, .L2 > 22 0004 4120A0E3 mov r2, #65 > 23 0008 002083E5 str r2, [r3, #0] > 24 .LM3: > 25 000c 232DA0E3 mov r2, #2240 > 26 0010 1C3043E2 sub r3, r3, #28 > 27 0014 002083E5 str r2, [r3, #0] > 28 .LM4: > 29 0018 2820A0E3 mov r2, #40 > 30 001c 243083E2 add r3, r3, #36 > 31 0020 002083E5 str r2, [r3, #0] > 32 .LM5: > 33 0024 4D2F82E2 add r2, r2, #308 > 34 0028 283043E2 sub r3, r3, #40 > 35 002c 002083E5 str r2, [r3, #0] > 36 .LM6: > 37 0030 0C309FE5 ldr r3, .L2+4 > 38 0034 0329A0E3 mov r2, #49152 > 39 .LM7: > 40 @ lr needed for prologue > 41 .LM8: > 42 0038 002083E5 str r2, [r3, #0] > 43 003c 0EF0A0E1 mov pc, lr > 44 .L3: > 45 .align 2 > 46 .L2: > 47 0040 2000FDFF .word -196576 > 48 0044 0400FFFF .word -65532 > > Any thoughts? I think the front-end optimizer is interacting badly with the back-end in this case, because your addresses are absolute constants. Of course the compiler should be producing something like ldr r3, .L2 mov r2, #65 str r2, [r3, #0] .LM3: mov r2, #2240 str r2, [r3, #-28]! .LM4: mov r2, #40 str r2, [r3, #36]! .LM5: add r2, r2, #308 str r2, [r3, #-40]! .LM6: ldr r3, .L2+4 mov r2, #49152 .LM7: @ lr needed for prologue .LM8: str r2, [r3, #0] mov pc, lr .L3: .align 2 .L2: .word -196576 .word -65532 Which is the same length overall. R. ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |