[fpc-devel] More on freepascal armhf porting attempt, some progress made but now stuck.

peter green plugwash at p10link.net
Sun Mar 11 12:47:49 CET 2012


Florian Klaempfl wrote:
> Am 11.03.2012 12:01, schrieb peter green:
>   
>> It appears to me (i'm not  an expert on arm assembler and I can't seem
>> to find any documentation on FPA) that FPC is generating FPA
>> instructions even though the FPU is set to a VFP type. What i'm really
>> struggling to work out is why the heck that is happening. From telling
>> freepascal to include source lines as comments in the assembler it
>> doesn't look like inline assembler is responsible.
>>     
>
> Can you please post the full assembler listing of a procedure containing
> such code?
>   
.section .text.n_system_$$_assign$real48$$double
    .balign 4
.globl    SYSTEM_$$_assign$REAL48$$DOUBLE
    .type    SYSTEM_$$_assign$REAL48$$DOUBLE,#function
SYSTEM_$$_assign$REAL48$$DOUBLE:
# Temps allocated between r13+4 and r13+12
# [346] begin
    stmfd    r13!,{r14}
    sub    r13,r13,#12
# Var $result located in register d0
# Var b located at r13+0
    str    r0,[r13]
    add    r2,r13,#4
    mov    r1,#6
.Lj10088:
    ldrb    r3,[r0], #1
    subs    r1,r1,#1
    strb    r3,[r2], #1
    bne    .Lj10088
# [347] D:=real2double(b);
    add    r0,r13,#4
    blx    SYSTEM_$$_REAL2DOUBLE$REAL48$$DOUBLE
    mvfd    d0,f0
# Var $result located in register d0
# [348] end;
    fstd    d0,[r13]
    ldfd    f0,[r13]
    add    r13,r13,#12
    ldmfd    r13!,{r15}
.Le332:
    .size    SYSTEM_$$_assign$REAL48$$DOUBLE, .Le332 - 
SYSTEM_$$_assign$REAL48$$DOUBLE





More information about the fpc-devel mailing list