[fpc-devel] Vectorization

Florian Klämpfl florian at freepascal.org
Sun Dec 10 14:50:36 CET 2017

Am 10.12.2017 um 02:29 schrieb J. Gareth Moreton:
> Hi everyone,
> Since I'm masochistic in my desire to understand and improve the Free Pascal Compiler, I would like to add 
> some vectorisation support in its optimisation cycle, since that is one thing that many other compilers 
> attempt to do these days.  But before I begin, does FPC support any kind of vectorisation already?  If it 
> does I haven't been able to find it yet, and I don't want to end up reinventing the wheel.

I started once to work on this, but never merged it into fpc trunk, it might be even only in my
local git check out, I can look for it.

> I'm sure it's a mammoth task, but I would like to start somewhere with it - however, are there any design 
> plans that I should be adhering to so I don't end up designing something that is disliked?

Well, basically it means that another pass (like e.g. unroll_loop in optloop.pas) of the tree must
be added which generated operations as they can be encoded by -Sv. To do this efficiently, probably
some previous simplification of the tree is needed. But this is something for later.

More information about the fpc-devel mailing list