regards,
ian
Le 06/01/2020 à 20:36, Michael Matz a écrit :
Hello,
On Mon, 6 Jan 2020, Rasmus Riiner via Tinycc-devel wrote:
See here:
https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
This is one of those things that doesn't come up in
a lot of types of programming, but is indispensable
in some, namely anything to do with 2D or 3D math.
The ability to just write `position += velocity *
dt;` style statements might be one of the most
important reasons most game developers choose C++
over C. It's certainly the only thing keeping me
from using TCC in the development of my own project.
Actually emitting SSE instructions might be beyond
the scope of tcc (Tiny after all), supporting the
expressions though would be a huge help.
Without proper support in the backends for vector instructions
the generated code for this extension from TCC would be of
abysmal quality. Technically it wouldn't be too much work to
semantically support that, but the values would need to be
committed to memory (instead of vector registers) and regarded
as constant sized arrays (at which point the function call ABI
would be different from the respective native ABI, which, again,
would be hard to fix without proper support for vector insns in
the backends).
That extension really doesn't feel very well suited for a simple
compiler like TCC ;-) But perhaps it can be done
non-intrusively enough.
I sat down yesterday in an attempt to do this
myself, but it turns out I'm not good enough for the
job. I couldn't make heads or tails of it. However,
this might be a breeze for someone that knows TCC
like the back of their hand.
So, any takers?
Ciao,
Michael.
_______________________________________________
Tinycc-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
--
-- address@hidden
-- Développeur compulsif