[PATCH] D75526: [X86] Disable commuting for the first source operand of zero masked scalar fma intrinsic instructions.

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 3 09:05:55 PST 2020


spatel added inline comments.


================
Comment at: llvm/test/CodeGen/X86/avx512-intrinsics.ll:5816
+; Make sure we don't commute this to fold the load as that source isn't commutable.
+define <4 x float> @test_int_x86_avx512_maskz_vfmadd_ss_load0(i8 zeroext %0, <4 x float>* nocapture readonly %1, <4 x float> %2, <4 x float> %3) {
+; X64-LABEL: test_int_x86_avx512_maskz_vfmadd_ss_load0:
----------------
Not too familiar with this code path, but we can shrink this test a bit and still crash:

```
define <4 x float> @test_int_x86_avx512_maskz_vfmadd_ss_load0(i1 zeroext %t0, <4 x float>* nocapture readonly %t1, float %t2, float %t3) {
  %t5 = load <4 x float>, <4 x float>* %t1, align 16
  %t6 = extractelement <4 x float> %t5, i64 0
  %t9 = tail call float @llvm.fma.f32(float %t6, float %t2, float %t3) #2
  %t12 = select i1 %t0, float %t9, float 0.0
  %t13 = insertelement <4 x float> %t5, float %t12, i64 0
  ret <4 x float> %t13
}

```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75526/new/

https://reviews.llvm.org/D75526





More information about the llvm-commits mailing list