[fpc-devel] Request to remove "movzwl %ax, %eax" -> "andl $0xffff, %ax" optimisations

J. Gareth Moreton gareth at moreton-family.com
Wed Nov 27 18:42:53 CET 2019


That's a point.  Thanks Sven.

There's still some cleaning up to do though because of two families of 
optimisations fighting each other and a specific construct that is 
dangerously close to causing an infinite loop (the only reason why it 
doesn't is because it doesn't set Result to True to signal another 
iteration of Pass 1 under -O3).

Gareth aka. Kit

On 27/11/2019 17:30, Sven Barth via fpc-devel wrote:
> J. Gareth Moreton <gareth at moreton-family.com 
> <mailto:gareth at moreton-family.com>> schrieb am Mi., 27. Nov. 2019, 18:08:
>
>     Hi everyone,
>
>     Specifically to Florian, Jonas and Pierre, I would like to remove the
>     "movz-> and" family of optimisations from the x86 peephole optimiser
>     because the zero-extension commands no longer have the performance
>     penalty that they had back in the 90s.  Both instructions have a
>     read/write dependency, but movzx uses fewer bytes.
>
>
> In my opinion that should depend on the selected optimization 
> processor (-OpX) as one might still want generate code for older 
> processors.
>
> Regards,
> Sven
>
>
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20191127/a8f3f1ad/attachment.html>


More information about the fpc-devel mailing list