This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: target_clones constexpr
On Donnerstag, 11. Januar 2018 20:37:55 CET Schulz, Roland wrote:
> I would like to do something like: [...]
+1
> I would like to use width to do manual strip-mining or instantiate SIMD C++
> templates. The problem is that this doesn't compile because
> __builtin_cpu_supports isn't constexpr. For every clone of foo, the
> compiler knows the SIMD support at compile time. I'm looking for a builtin
> which lets me query that in a constexpr way.
AFAIK there is nothing (I'd be happy to be proven wrong). I also can't think
of any hack that would produce the value as a constant expression. (I tried
`using v64 [[gnu::vector_size(64)]] = float; alignof(v64)`, but its alignment
is 64, independent of the register size it uses.)
Cheers,
Matthias
--
──────────────────────────────────────────────────────────────────────────
Dr. Matthias Kretz
GSI Helmholtzzentrum für Schwerionenforschung https://gsi.de
SIMD easy and portable https://github.com/VcDevel/Vc
──────────────────────────────────────────────────────────────────────────