__m256 test_mm256_msubadd_ps(__m256 a, __m256 b, __m256 c) { // CHECK: @llvm.x86.fma.vfmsubadd.ps.256 // CHECK-ASM: vfmsubaddps %ymm{{.*}}, %ymm{{.*}}, %ymm{{.*}}, %ymm{{.*}} return _mm256_msubadd_ps(a, b, c); }
__m256 test_mm256_msubadd_ps(__m256 a, __m256 b, __m256 c) { // CHECK-LABEL: test_mm256_msubadd_ps // CHECK: [[NEG:%.+]] = fsub <8 x float> <float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00, float -0.000000e+00>, %{{.*}} // CHECK: @llvm.x86.fma.vfmaddsub.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.+}}, <8 x float> [[NEG]]) return _mm256_msubadd_ps(a, b, c); }