Tested on g++ (GCC) 13.1.1 20230429 on Linux ``` #include <x86intrin.h> // this doesn't work in GCC (but does in clang) constexpr auto set1 = _mm_set1_epi32; // this works struct S { static constexpr auto set1 = _mm_set1_epi32; }; int main() { // and this works _mm_set1_epi32(1); } ``` output: /usr/bin/ld: /tmp/ccaN0gLC.o:(.data.rel.ro+0x0): undefined reference to `_mm_set1_epi32(int)' collect2: error: ld returned 1 exit status The code seems to work as expected with other function pointers, even when defined in other translation units. I've only seen the problem with intrinsics.
This is by design. *** This bug has been marked as a duplicate of bug 100005 ***