/* { dg-do run } */ /* { dg-add-options ieee } */ extern void abort (void); typedef float vf128 __attribute__((vector_size(16))); typedef float vf64 __attribute__((vector_size(8))); int main() { #if !__FINITE_MATH_ONLY__ #if __FLT_HAS_QUIET_NAN__ vf128 v = (vf128){ 0.f, 0.f, 0.f, 0.f }; vf64 u = (vf64){ 0.f, 0.f }; v = v / (vf128){ 0.f, 0.f, 0.f, 0.f }; if (v[0] == v[0]) abort (); u = u / (vf64){ 0.f, 0.f }; if (u[0] == u[0]) abort (); #endif #endif return 0; }