[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