https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102347
--- Comment #4 from Kewen Lin <linkw at gcc dot gnu.org> --- I found i386 port seems doesn't have this issue. #include <stdio.h> #include <xmmintrin.h> typedef union { __m128 x; float a[4]; } union128; #pragma GCC target("sse") int main() { union128 u; __m128 a = _mm_set_ps (24.43, 68.346, 43.35, 546.46); __m128 b = _mm_set_ps (1.17, 2.16, 3.15, 4.14); u.x = _mm_add_ps (a,b); printf("u: %f %f %f %f\n", u.a[0], u.a[1],u.a[2],u.a[3]); return 0; } Command line: -mno-sse -flto i386 ports seems to initialize all built-ins in bif table.