void check_mm_fnmsub_ss (__m128 __A, __m128 __B, __m128 __C) { union128 a, b, c, e; a.x = __A; b.x = __B; c.x = __C; float d[4]; int i; e.x = _mm_fnmsub_ss (__A, __B, __C); for (i = 1; i < 4; i++) { d[i] = a.a[i]; } d[0] = -a.a[0] * b.a[0] - c.a[0]; if (check_union128 (e, d)) abort (); }
__m128 test_mm_fnmsub_ss(__m128 a, __m128 b, __m128 c) { // CHECK-LABEL: test_mm_fnmsub_ss // CHECK: @llvm.x86.fma.vfnmsub.ss return _mm_fnmsub_ss(a, b, c); }
__m128 check_mm_fnmsub_ss (__m128 a, __m128 b, __m128 c) { return _mm_fnmsub_ss (a, b, c); }