[fpc-devel] x86_64 Optimizer Overhaul

J. Gareth Moreton gareth at moreton-family.com
Wed Dec 12 13:36:15 CET 2018


 Currently, compiled programs shouldn't show any measurable difference in
running speed because the overhaul just attempts to make compilation faster
overall.

 Nice spot with the "incq" command there.  It wasn't intentional for that
to be split into 3 commands, but is likely just a side-effect of pass 1 not
being run twice now... granted, since one of my criteria was that the code
should not be less optimal, I'll see if I can watch out for that one.

 One interesting thing to note though is that the read and add work on the
32-bit register, but then the full 64-bit register is written.

 Gareth aka. Kit

 On Wed 12/12/18 13:08 , "Marģers ." margers.roked at inbox.lv sent:
   

 ----- Reply to message ----- 
 Subject: Re: [fpc-devel] x86_64 Optimizer Overhaul 
 Date: 2018. gada 6. decembris 18:57:29 
 From: J. Gareth Moreton  
 To: FPC developers' list 

 > I believed I've fixed the bug.  Thanks for your 
 help. 

 Now it's way better. -O3 and -O4 works fine. 
 Speed test for my programs shows no measurable 
 difference. 

 # [468] inc(sk); 
 --trunk --------- 
 incq 272(%rsp) 

 -- overhaul ------- 
 movl 272(%rsp),%eax 
 addl $1,%eax 
 movq %rax,272(%rsp) 

 did you mean to be so? 

 margers 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20181212/b35424d3/attachment.html>


More information about the fpc-devel mailing list