[Bug d/101127] New: d: Compile-time reflection for supported built-ins
ibuclaw at gdcproject dot org
gcc-bugzilla@gcc.gnu.org
Fri Jun 18 15:51:42 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101127
Bug ID: 101127
Summary: d: Compile-time reflection for supported built-ins
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: d
Assignee: ibuclaw at gdcproject dot org
Reporter: ibuclaw at gdcproject dot org
Target Milestone: ---
With the 11 release, compile-time reflection support was added for vector
types, but this does not extend to built-ins that use them.
e.g:
---
// This prints "Yes" with -mavx because vector(float[8]) also becomes
available.
static if (__traits(compiles, __builtin_ia32_andps256 ))
pragma(msg, "Yes AVX support");
else
pragma(msg, "No AVX support");
// Always prints "Yes", because vector(short[8]) is available from -msse
static if (__traits(compiles, __builtin_ia32_pmulhrsw128))
pragma(msg, "Yes SSSE3 support");
else
pragma(msg, "No SSSE3 support");
More information about the Gcc-bugs
mailing list