[fpc-devel] ARM compiler. Internal error 200312022
F.Klaempfl at gmx.de
Sun Jul 3 20:12:00 CEST 2005
Yury Sidorov wrote:
> From: "Florian Klaempfl" <F.Klaempfl at gmx.de>
>>> i: integer;
>>> Yury Sidorov.
>> Fixed, hopefully I didn't destroy much because I didn't test the fix.
>> Maybe you can create a system.s before applying the patch and diff it
>> with a system.s from the new ppcarm.
> system.s is generated properly as before.
> But fix is incorrect. The following strange code is generated for
123 is not aligned to a 32 bit boundary so byte moves are generated
(try with 120 instead), at least arm-linux require proper alignment. I
agree that the code is suboptimal and that it should generate 4 ld/st
instructions but the code is correct imo.
> ldr r0,.L9
> mov r3,#123
> mov r1,#4
> ldrb r2,[r3], #1
> subs r1,r1,#1
> strb r2,[r0], #1
> bne .L10
> .long U_P$TEST_I
> Yury Sidorov.
> fpc-devel maillist - fpc-devel at lists.freepascal.org
More information about the fpc-devel