[fpc-devel] Bad code generation on linux x86_64

Florian Klämpfl florian at freepascal.org
Sun May 21 09:45:05 CEST 2017


Am 20.05.2017 um 10:50 schrieb C Western:
> The following revision seems to be generating bad code for me on linux/x86_64:

Can you please change line 26 in fpc compiler/x86/aoptx86.pas from
{ $define DEBUG_AOPTCPU}
to
{$define DEBUG_AOPTCPU}

and post the assembler output again?

> 
> r36200 | florian | 2017-05-13 10:58:25 +0100 (Sat, 13 May 2017) | 1 line
> Changed paths:
>    M /trunk/compiler/i386/aoptcpu.pas
>    M /trunk/compiler/x86/aoptx86.pas
> 
> * moved InstructionLoadsFromReg and RegReadByInstruction from TCpuAsmOptimizer (i386) to
> TX86AsmOptimizer
> 
> I am not sure how to generate a simple test case, but the code fragment that fails is below. As far
> as I can tell, r14 is used, but never loaded; I think r13 should have been used instead.
> 




More information about the fpc-devel mailing list