[Top][All Lists]

[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 ????



Le 06/01/2020 à 20:36, Michael Matz a écrit :

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?


Tinycc-devel mailing list
-- address@hidden
-- Développeur compulsif

reply via email to

[Prev in Thread] Current Thread [Next in Thread]