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.

Reply via email to