This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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
──────────────────────────────────────────────────────────────────────────

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]