__m128 test_mm_msubadd_ps(__m128 a, __m128 b, __m128 c) { // CHECK: @llvm.x86.fma.vfmsubadd.ps // CHECK-ASM: vfmsubaddps %xmm{{.*}}, %xmm{{.*}}, %xmm{{.*}}, %xmm{{.*}} return _mm_msubadd_ps(a, b, c); }
__m128 test_mm_msubadd_ps(__m128 a, __m128 b, __m128 c) { // CHECK-LABEL: test_mm_msubadd_ps // CHECK: [[NEG:%.+]] = fsub <4 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, %{{.+}} // CHECK: @llvm.x86.fma.vfmaddsub.ps(<4 x float> %{{.+}}, <4 x float> %{{.+}}, <4 x float> [[NEG]]) return _mm_msubadd_ps(a, b, c); }