[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Request: __attribute__((vector_size))
From: |
ian |
Subject: |
Re: [Tinycc-devel] Request: __attribute__((vector_size)) |
Date: |
Mon, 6 Jan 2020 20:52:06 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
Hi Michael.
Is the support for data structures and calculations a real "need
to" for a compiler ????
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
- [Tinycc-devel] Request: __attribute__((vector_size)), Rasmus Riiner, 2020/01/06
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), ian, 2020/01/06
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), Michael Matz, 2020/01/06
- Re: [Tinycc-devel] Request: __attribute__((vector_size)),
ian <=
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), Michael Matz, 2020/01/06
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), ian, 2020/01/06
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), Michael Matz, 2020/01/06
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), ian, 2020/01/07
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), Rasmus Riiner, 2020/01/09
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), ian, 2020/01/09
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), uso ewin, 2020/01/09
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), ian, 2020/01/09
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), Ivo van Poorten, 2020/01/09
- Re: [Tinycc-devel] Request: __attribute__((vector_size)), ian, 2020/01/09