https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120819

--- Comment #2 from Sam James <sjames at gcc dot gnu.org> ---
```
typedef float a __attribute__((__vector_size__(16)));
typedef long long b __attribute__((__vector_size__(16)));
int c;
a d, e, f;
b g, h;
struct i {
  i(b j) : k(j) {}
  i();
  b k;
};
i l(int j) {
  g = (b)(__attribute__((__vector_size__(4 * sizeof(1)))) int){j, j, j, j};
  return g;
}
int m();
void n() {
  h = (__attribute__((__vector_size__(2 * sizeof(long long)))) long long){c};
  i o, p = l(2147483647 * 2 + 1);
  f = __builtin_ia32_blendvps(a(p.k), d, e);
  if (m()) {
    i q = l(2147483647 * 2 + 1);
    a r = __builtin_ia32_blendvps(a(q.k), d, e);
    o = b(r);
    i s;
  }
}
```

It's not very good.

Reply via email to