|
From: | ian |
Subject: | Re: [Tinycc-devel] Request: __attribute__((vector_size)) |
Date: | Mon, 6 Jan 2020 23:49:50 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
Michael,
Did I miss something ?
It seemed to me that it was dealing with application side of
things.
Like, say, libraries. For the least, as long as compilers does not
care about maths or physics....
If I'm wrong, please, explain to me where...
ian
Hi,
On Mon, 6 Jan 2020, ian wrote:
Is the support for data structures and calculations a real "need to" for a compiler ????
Um, I don't know how to answer this. As it seems the alternative to calculations is guessing, yes, I do think calculations and data structures are indeed necessary for a compiler, or any program whatsoever.
Ciao,
Michael.
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
_______________________________________________ Tinycc-devel mailing list address@hidden https://lists.nongnu.org/mailman/listinfo/tinycc-devel
[Prev in Thread] | Current Thread | [Next in Thread] |