[llvm] r363300 - Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll"

Cameron McInally via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 17 19:21:33 PDT 2019


Sorry about that. Will comply.

On Mon, Jun 17, 2019 at 18:36 David Blaikie <dblaikie at gmail.com> wrote:

> When reverting patches please include the subversion revision number &
> explanation for why the patch is being reverted.
>
> On Thu, Jun 13, 2019 at 12:21 PM Cameron McInally via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: mcinally
>> Date: Thu Jun 13 12:24:21 2019
>> New Revision: 363300
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=363300&view=rev
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D363300-26view-3Drev&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=gKPafYIYs3je2J2WDjtuCCRD6-FUq0mCoSnIcSLeu_Q&e=>
>> Log:
>> Revert "[NFC][CodeGen] Add unary FNeg tests to
>> X86/avx512-intrinsics-fast-isel.ll"
>>
>> This reverts commit aeb89f8b33d8fca4e819ba41267093699a7e4885.
>>
>> Modified:
>>     llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
>>
>> Modified: llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll?rev=363300&r1=363299&r2=363300&view=diff
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_CodeGen_X86_avx512-2Dintrinsics-2Dfast-2Disel.ll-3Frev-3D363300-26r1-3D363299-26r2-3D363300-26view-3Ddiff&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=DO97-uiV1FrNdCqR7Kw17keM6PCyIU9YhH2GPEWOuh8&e=>
>
>
>>
>> ==============================================================================
>> --- llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll (original)
>> +++ llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll Thu Jun 13
>> 12:24:21 2019
>> @@ -4705,27 +4705,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_maskz_fmsubadd_round_pd_unary_fneg(i8
>> zeroext %__U, <8 x double> %__A, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_maskz_fmsubadd_round_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z}
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_maskz_fmsubadd_round_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z}
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %neg, i32 8)
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_fmaddsub_pd(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) {
>>  ; CHECK-LABEL: test_mm512_fmaddsub_pd:
>>  ; CHECK:       # %bb.0: # %entry
>> @@ -4739,19 +4718,6 @@ entry:
>>    ret <8 x double> %3
>>  }
>>
>> -define <8 x double> @test_mm512_fmaddsub_pd_unary_fneg(<8 x double>
>> %__A, <8 x double> %__B, <8 x double> %__C) {
>> -; CHECK-LABEL: test_mm512_fmaddsub_pd_unary_fneg:
>> -; CHECK:       # %bb.0: # %entry
>> -; CHECK-NEXT:    vfmaddsub213pd {{.*#+}} zmm0 = (zmm1 * zmm0) +/- zmm2
>> -; CHECK-NEXT:    ret{{[l|q]}}
>> -entry:
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %1 = fneg <8 x double> %__C
>> -  %2 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %1) #10
>> -  %3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  ret <8 x double> %3
>> -}
>> -
>>  define <8 x double> @test_mm512_mask_fmaddsub_pd(<8 x double> %__A, i8
>> zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fmaddsub_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -4775,29 +4741,6 @@ entry:
>>    ret <8 x double> %5
>>  }
>>
>> -define <8 x double> @test_mm512_mask_fmaddsub_pd_unary_fneg(<8 x double>
>> %__A, i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_mask_fmaddsub_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmaddsub132pd {{.*#+}} zmm0 = (zmm0 * zmm1) +/- zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fmaddsub_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmaddsub132pd {{.*#+}} zmm0 = (zmm0 * zmm1) +/- zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %1 = fneg <8 x double> %__C
>> -  %2 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %1) #10
>> -  %3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  %4 = bitcast i8 %__U to <8 x i1>
>> -  %5 = select <8 x i1> %4, <8 x double> %3, <8 x double> %__A
>> -  ret <8 x double> %5
>> -}
>> -
>>  define <8 x double> @test_mm512_mask3_fmaddsub_pd(<8 x double> %__A, <8
>> x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmaddsub_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -4823,31 +4766,6 @@ entry:
>>    ret <8 x double> %5
>>  }
>>
>> -define <8 x double> @test_mm512_mask3_fmaddsub_pd_unary_fneg(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmaddsub_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmaddsub231pd {{.*#+}} zmm2 = (zmm0 * zmm1) +/- zmm2
>> -; X86-NEXT:    vmovapd %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmaddsub_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmaddsub231pd {{.*#+}} zmm2 = (zmm0 * zmm1) +/- zmm2
>> -; X64-NEXT:    vmovapd %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %1 = fneg <8 x double> %__C
>> -  %2 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %1) #10
>> -  %3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  %4 = bitcast i8 %__U to <8 x i1>
>> -  %5 = select <8 x i1> %4, <8 x double> %3, <8 x double> %__C
>> -  ret <8 x double> %5
>> -}
>> -
>>  define <8 x double> @test_mm512_maskz_fmaddsub_pd(i8 zeroext %__U, <8 x
>> double> %__A, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_maskz_fmaddsub_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -4871,29 +4789,6 @@ entry:
>>    ret <8 x double> %5
>>  }
>>
>> -define <8 x double> @test_mm512_maskz_fmaddsub_pd_unary_fneg(i8 zeroext
>> %__U, <8 x double> %__A, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_maskz_fmaddsub_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmaddsub213pd {{.*#+}} zmm0 = (zmm1 * zmm0) +/- zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_maskz_fmaddsub_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmaddsub213pd {{.*#+}} zmm0 = (zmm1 * zmm0) +/- zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %1 = fneg <8 x double> %__C
>> -  %2 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %1) #10
>> -  %3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  %4 = bitcast i8 %__U to <8 x i1>
>> -  %5 = select <8 x i1> %4, <8 x double> %3, <8 x double> zeroinitializer
>> -  ret <8 x double> %5
>> -}
>> -
>>  define <8 x double> @test_mm512_fmsubadd_pd(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) {
>>  ; CHECK-LABEL: test_mm512_fmsubadd_pd:
>>  ; CHECK:       # %bb.0: # %entry
>> @@ -4907,19 +4802,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_fmsubadd_pd_unary_fneg(<8 x double>
>> %__A, <8 x double> %__B, <8 x double> %__C) {
>> -; CHECK-LABEL: test_mm512_fmsubadd_pd_unary_fneg:
>> -; CHECK:       # %bb.0: # %entry
>> -; CHECK-NEXT:    vfmsubadd213pd {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> -; CHECK-NEXT:    ret{{[l|q]}}
>> -entry:
>> -  %neg.i = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %neg.i) #10
>> -  %1 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask_fmsubadd_pd(<8 x double> %__A, i8
>> zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fmsubadd_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -4943,29 +4825,6 @@ entry:
>>    ret <8 x double> %4
>>  }
>>
>> -define <8 x double> @test_mm512_mask_fmsubadd_pd_unary_fneg(<8 x double>
>> %__A, i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_mask_fmsubadd_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd132pd {{.*#+}} zmm0 = (zmm0 * zmm1) -/+ zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fmsubadd_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd132pd {{.*#+}} zmm0 = (zmm0 * zmm1) -/+ zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %neg.i) #10
>> -  %1 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  %3 = bitcast i8 %__U to <8 x i1>
>> -  %4 = select <8 x i1> %3, <8 x double> %2, <8 x double> %__A
>> -  ret <8 x double> %4
>> -}
>> -
>>  define <8 x double> @test_mm512_maskz_fmsubadd_pd(i8 zeroext %__U, <8 x
>> double> %__A, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_maskz_fmsubadd_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -4989,29 +4848,6 @@ entry:
>>    ret <8 x double> %4
>>  }
>>
>> -define <8 x double> @test_mm512_maskz_fmsubadd_pd_unary_fneg(i8 zeroext
>> %__U, <8 x double> %__A, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_maskz_fmsubadd_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd213pd {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_maskz_fmsubadd_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd213pd {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %neg.i) #10
>> -  %1 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  %3 = bitcast i8 %__U to <8 x i1>
>> -  %4 = select <8 x i1> %3, <8 x double> %2, <8 x double> zeroinitializer
>> -  ret <8 x double> %4
>> -}
>> -
>>  define <16 x float> @test_mm512_fmaddsub_round_ps(<16 x float> %__A, <16
>> x float> %__B, <16 x float> %__C) {
>>  ; CHECK-LABEL: test_mm512_fmaddsub_round_ps:
>>  ; CHECK:       # %bb.0: # %entry
>> @@ -5104,24 +4940,6 @@ entry:
>>    ret <16 x float> %0
>>  }
>>
>> -define <16 x float> @test_mm512_fmsubadd_round_ps_unary_fneg(<16 x
>> float> %__A, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_fmsubadd_round_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    vpxord {{\.LCPI.*}}{1to16}, %zmm2, %zmm2
>> -; X86-NEXT:    vfmaddsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_fmsubadd_round_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    vpxord {{.*}}(%rip){1to16}, %zmm2, %zmm2
>> -; X64-NEXT:    vfmaddsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.x86.avx512.vfmaddsub.ps&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=IfRGDtVkepDegVb0QhLmV-TMuNDwAsc1QG2PXnk7W4s&e=>.512(<16
>> x float> %__A, <16 x float> %__B, <16 x float> %neg, i32 8)
>> -  ret <16 x float> %0
>> -}
>> -
>>  define <16 x float> @test_mm512_mask_fmsubadd_round_ps(<16 x float>
>> %__A, i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fmsubadd_round_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5143,27 +4961,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_mask_fmsubadd_round_ps_unary_fneg(<16 x
>> float> %__A, i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_mask_fmsubadd_round_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fmsubadd_round_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.x86.avx512.vfmaddsub.ps&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=IfRGDtVkepDegVb0QhLmV-TMuNDwAsc1QG2PXnk7W4s&e=>.512(<16
>> x float> %__A, <16 x float> %__B, <16 x float> %neg, i32 8)
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_maskz_fmsubadd_round_ps(i16 zeroext
>> %__U, <16 x float> %__A, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_maskz_fmsubadd_round_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5185,27 +4982,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_maskz_fmsubadd_round_ps_unary_fneg(i16
>> zeroext %__U, <16 x float> %__A, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_maskz_fmsubadd_round_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z}
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_maskz_fmsubadd_round_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z}
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.x86.avx512.vfmaddsub.ps&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=IfRGDtVkepDegVb0QhLmV-TMuNDwAsc1QG2PXnk7W4s&e=>.512(<16
>> x float> %__A, <16 x float> %__B, <16 x float> %neg, i32 8)
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_fmaddsub_ps(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) {
>>  ; CHECK-LABEL: test_mm512_fmaddsub_ps:
>>  ; CHECK:       # %bb.0: # %entry
>> @@ -5219,19 +4995,6 @@ entry:
>>    ret <16 x float> %3
>>  }
>>
>> -define <16 x float> @test_mm512_fmaddsub_ps_unary_fneg(<16 x float>
>> %__A, <16 x float> %__B, <16 x float> %__C) {
>> -; CHECK-LABEL: test_mm512_fmaddsub_ps_unary_fneg:
>> -; CHECK:       # %bb.0: # %entry
>> -; CHECK-NEXT:    vfmaddsub213ps {{.*#+}} zmm0 = (zmm1 * zmm0) +/- zmm2
>> -; CHECK-NEXT:    ret{{[l|q]}}
>> -entry:
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %1 = fneg <16 x float> %__C
>> -  %2 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %1) #10
>> -  %3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  ret <16 x float> %3
>> -}
>> -
>>  define <16 x float> @test_mm512_mask_fmaddsub_ps(<16 x float> %__A, i16
>> zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fmaddsub_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5255,29 +5018,6 @@ entry:
>>    ret <16 x float> %5
>>  }
>>
>> -define <16 x float> @test_mm512_mask_fmaddsub_ps_unary_fneg(<16 x float>
>> %__A, i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_mask_fmaddsub_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmaddsub132ps {{.*#+}} zmm0 = (zmm0 * zmm1) +/- zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fmaddsub_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmaddsub132ps {{.*#+}} zmm0 = (zmm0 * zmm1) +/- zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %1 = fneg <16 x float> %__C
>> -  %2 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %1) #10
>> -  %3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  %4 = bitcast i16 %__U to <16 x i1>
>> -  %5 = select <16 x i1> %4, <16 x float> %3, <16 x float> %__A
>> -  ret <16 x float> %5
>> -}
>> -
>>  define <16 x float> @test_mm512_mask3_fmaddsub_ps(<16 x float> %__A, <16
>> x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmaddsub_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5303,31 +5043,6 @@ entry:
>>    ret <16 x float> %5
>>  }
>>
>> -define <16 x float> @test_mm512_mask3_fmaddsub_ps_unary_fneg(<16 x
>> float> %__A, <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmaddsub_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmaddsub231ps {{.*#+}} zmm2 = (zmm0 * zmm1) +/- zmm2
>> -; X86-NEXT:    vmovaps %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmaddsub_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmaddsub231ps {{.*#+}} zmm2 = (zmm0 * zmm1) +/- zmm2
>> -; X64-NEXT:    vmovaps %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %1 = fneg <16 x float> %__C
>> -  %2 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %1) #10
>> -  %3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  %4 = bitcast i16 %__U to <16 x i1>
>> -  %5 = select <16 x i1> %4, <16 x float> %3, <16 x float> %__C
>> -  ret <16 x float> %5
>> -}
>> -
>>  define <16 x float> @test_mm512_maskz_fmaddsub_ps(i16 zeroext %__U, <16
>> x float> %__A, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_maskz_fmaddsub_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5351,29 +5066,6 @@ entry:
>>    ret <16 x float> %5
>>  }
>>
>> -define <16 x float> @test_mm512_maskz_fmaddsub_ps_unary_fneg(i16 zeroext
>> %__U, <16 x float> %__A, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_maskz_fmaddsub_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmaddsub213ps {{.*#+}} zmm0 = (zmm1 * zmm0) +/- zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_maskz_fmaddsub_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmaddsub213ps {{.*#+}} zmm0 = (zmm1 * zmm0) +/- zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %1 = fneg <16 x float> %__C
>> -  %2 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %1) #10
>> -  %3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  %4 = bitcast i16 %__U to <16 x i1>
>> -  %5 = select <16 x i1> %4, <16 x float> %3, <16 x float> zeroinitializer
>> -  ret <16 x float> %5
>> -}
>> -
>>  define <16 x float> @test_mm512_fmsubadd_ps(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) {
>>  ; CHECK-LABEL: test_mm512_fmsubadd_ps:
>>  ; CHECK:       # %bb.0: # %entry
>> @@ -5387,19 +5079,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_fmsubadd_ps_unary_fneg(<16 x float>
>> %__A, <16 x float> %__B, <16 x float> %__C) {
>> -; CHECK-LABEL: test_mm512_fmsubadd_ps_unary_fneg:
>> -; CHECK:       # %bb.0: # %entry
>> -; CHECK-NEXT:    vfmsubadd213ps {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> -; CHECK-NEXT:    ret{{[l|q]}}
>> -entry:
>> -  %neg.i = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %neg.i) #10
>> -  %1 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_mask_fmsubadd_ps(<16 x float> %__A, i16
>> zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fmsubadd_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5423,38 +5102,15 @@ entry:
>>    ret <16 x float> %4
>>  }
>>
>> -define <16 x float> @test_mm512_mask_fmsubadd_ps_unary_fneg(<16 x float>
>> %__A, i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_mask_fmsubadd_ps_unary_fneg:
>> +define <16 x float> @test_mm512_maskz_fmsubadd_ps(i16 zeroext %__U, <16
>> x float> %__A, <16 x float> %__B, <16 x float> %__C) {
>> +; X86-LABEL: test_mm512_maskz_fmsubadd_ps:
>>  ; X86:       # %bb.0: # %entry
>>  ; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>>  ; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd132ps {{.*#+}} zmm0 = (zmm0 * zmm1) -/+ zmm2
>> +; X86-NEXT:    vfmsubadd213ps {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>>  ; X86-NEXT:    retl
>>  ;
>> -; X64-LABEL: test_mm512_mask_fmsubadd_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd132ps {{.*#+}} zmm0 = (zmm0 * zmm1) -/+ zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %neg.i) #10
>> -  %1 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  %3 = bitcast i16 %__U to <16 x i1>
>> -  %4 = select <16 x i1> %3, <16 x float> %2, <16 x float> %__A
>> -  ret <16 x float> %4
>> -}
>> -
>> -define <16 x float> @test_mm512_maskz_fmsubadd_ps(i16 zeroext %__U, <16
>> x float> %__A, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_maskz_fmsubadd_ps:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd213ps {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_maskz_fmsubadd_ps:
>> +; X64-LABEL: test_mm512_maskz_fmsubadd_ps:
>>  ; X64:       # %bb.0: # %entry
>>  ; X64-NEXT:    kmovw %edi, %k1
>>  ; X64-NEXT:    vfmsubadd213ps {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> @@ -5469,29 +5125,6 @@ entry:
>>    ret <16 x float> %4
>>  }
>>
>> -define <16 x float> @test_mm512_maskz_fmsubadd_ps_unary_fneg(i16 zeroext
>> %__U, <16 x float> %__A, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_maskz_fmsubadd_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd213ps {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_maskz_fmsubadd_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd213ps {{.*#+}} zmm0 = (zmm1 * zmm0) -/+ zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %neg.i) #10
>> -  %1 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  %3 = bitcast i16 %__U to <16 x i1>
>> -  %4 = select <16 x i1> %3, <16 x float> %2, <16 x float> zeroinitializer
>> -  ret <16 x float> %4
>> -}
>> -
>>  define <8 x double> @test_mm512_mask3_fmsub_round_pd(<8 x double> %__A,
>> <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsub_round_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5515,29 +5148,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask3_fmsub_round_pd_unary_fneg(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsub_round_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X86-NEXT:    vmovapd %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsub_round_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X64-NEXT:    vmovapd %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %neg, i32 8)
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask3_fmsub_pd(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsub_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5561,29 +5171,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask3_fmsub_pd_unary_fneg(<8 x double>
>> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsub_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsub231pd {{.*#+}} zmm2 = (zmm0 * zmm1) - zmm2
>> -; X86-NEXT:    vmovapd %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsub_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsub231pd {{.*#+}} zmm2 = (zmm0 * zmm1) - zmm2
>> -; X64-NEXT:    vmovapd %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %neg.i) #10
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_mask3_fmsub_round_ps(<16 x float> %__A,
>> <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsub_round_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5607,29 +5194,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_mask3_fmsub_round_ps_unary_fneg(<16 x
>> float> %__A, <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsub_round_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X86-NEXT:    vmovaps %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsub_round_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X64-NEXT:    vmovaps %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.x86.avx512.vfmadd.ps&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=zVQlNoHs_yAPzFyTuJ4StyQ62z_eo111B2HICm2OwBw&e=>.512(<16
>> x float> %__A, <16 x float> %__B, <16 x float> %neg, i32 8)
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_mask3_fmsub_ps(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsub_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5653,29 +5217,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_mask3_fmsub_ps_unary_fneg(<16 x float>
>> %__A, <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsub_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsub231ps {{.*#+}} zmm2 = (zmm0 * zmm1) - zmm2
>> -; X86-NEXT:    vmovaps %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsub_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsub231ps {{.*#+}} zmm2 = (zmm0 * zmm1) - zmm2
>> -; X64-NEXT:    vmovaps %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %neg.i) #10
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask3_fmsubadd_round_pd(<8 x double>
>> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsubadd_round_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5699,29 +5240,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask3_fmsubadd_round_pd_unary_fneg(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsubadd_round_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X86-NEXT:    vmovapd %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsubadd_round_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X64-NEXT:    vmovapd %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %neg, i32 8)
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask3_fmsubadd_pd(<8 x double> %__A, <8
>> x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsubadd_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5747,31 +5265,6 @@ entry:
>>    ret <8 x double> %4
>>  }
>>
>> -define <8 x double> @test_mm512_mask3_fmsubadd_pd_unary_fneg(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsubadd_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd231pd {{.*#+}} zmm2 = (zmm0 * zmm1) -/+ zmm2
>> -; X86-NEXT:    vmovapd %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsubadd_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd231pd {{.*#+}} zmm2 = (zmm0 * zmm1) -/+ zmm2
>> -; X64-NEXT:    vmovapd %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %neg.i) #10
>> -  %1 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0,
>> i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
>> -  %3 = bitcast i8 %__U to <8 x i1>
>> -  %4 = select <8 x i1> %3, <8 x double> %2, <8 x double> %__C
>> -  ret <8 x double> %4
>> -}
>> -
>>  define <16 x float> @test_mm512_mask3_fmsubadd_round_ps(<16 x float>
>> %__A, <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsubadd_round_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5795,29 +5288,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_mask3_fmsubadd_round_ps_unary_fneg(<16 x
>> float> %__A, <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsubadd_round_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X86-NEXT:    vmovaps %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsubadd_round_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X64-NEXT:    vmovaps %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.x86.avx512.vfmaddsub.ps&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=IfRGDtVkepDegVb0QhLmV-TMuNDwAsc1QG2PXnk7W4s&e=>.512(<16
>> x float> %__A, <16 x float> %__B, <16 x float> %neg, i32 8)
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_mask3_fmsubadd_ps(<16 x float> %__A, <16
>> x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fmsubadd_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5843,31 +5313,6 @@ entry:
>>    ret <16 x float> %4
>>  }
>>
>> -define <16 x float> @test_mm512_mask3_fmsubadd_ps_unary_fneg(<16 x
>> float> %__A, <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fmsubadd_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfmsubadd231ps {{.*#+}} zmm2 = (zmm0 * zmm1) -/+ zmm2
>> -; X86-NEXT:    vmovaps %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fmsubadd_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfmsubadd231ps {{.*#+}} zmm2 = (zmm0 * zmm1) -/+ zmm2
>> -; X64-NEXT:    vmovaps %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %neg.i) #10
>> -  %1 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x
>> float> %__B, <16 x float> %__C) #10
>> -  %2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32
>> 0, i32 17, i32 2, i32 19, i32 4, i32 21, i32 6, i32 23, i32 8, i32 25, i32
>> 10, i32 27, i32 12, i32 29, i32 14, i32 31>
>> -  %3 = bitcast i16 %__U to <16 x i1>
>> -  %4 = select <16 x i1> %3, <16 x float> %2, <16 x float> %__C
>> -  ret <16 x float> %4
>> -}
>> -
>>  define <8 x double> @test_mm512_mask_fnmadd_round_pd(<8 x double> %__A,
>> i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fnmadd_round_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5889,27 +5334,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask_fnmadd_round_pd_unary_fneg(<8 x
>> double> %__A, i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_mask_fnmadd_round_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fnmadd_round_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <8 x double> %__A
>> -  %0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x
>> double> %neg, <8 x double> %__B, <8 x double> %__C, i32 8)
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask_fnmadd_pd(<8 x double> %__A, i8
>> zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fnmadd_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5931,27 +5355,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask_fnmadd_pd_unary_fneg(<8 x double>
>> %__A, i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_mask_fnmadd_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmadd132pd {{.*#+}} zmm0 = -(zmm0 * zmm1) + zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fnmadd_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmadd132pd {{.*#+}} zmm0 = -(zmm0 * zmm1) + zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <8 x double> %__A
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %neg.i, <8 x
>> double> %__B, <8 x double> %__C) #10
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_mask_fnmadd_round_ps(<16 x float> %__A,
>> i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fnmadd_round_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -5973,27 +5376,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_mask_fnmadd_round_ps_unary_fneg(<16 x
>> float> %__A, i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_mask_fnmadd_round_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fnmadd_round_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <16 x float> %__A
>> -  %0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.x86.avx512.vfmadd.ps&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=zVQlNoHs_yAPzFyTuJ4StyQ62z_eo111B2HICm2OwBw&e=>.512(<16
>> x float> %neg, <16 x float> %__B, <16 x float> %__C, i32 8)
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_mask_fnmadd_ps(<16 x float> %__A, i16
>> zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fnmadd_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -6015,27 +5397,6 @@ entry:
>>    ret <16 x float> %2
>>  }
>>
>> -define <16 x float> @test_mm512_mask_fnmadd_ps_unary_fneg(<16 x float>
>> %__A, i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>> -; X86-LABEL: test_mm512_mask_fnmadd_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmadd132ps {{.*#+}} zmm0 = -(zmm0 * zmm1) + zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fnmadd_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmadd132ps {{.*#+}} zmm0 = -(zmm0 * zmm1) + zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <16 x float> %__A
>> -  %0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %neg.i, <16
>> x float> %__B, <16 x float> %__C) #10
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
>> -  ret <16 x float> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask_fnmsub_round_pd(<8 x double> %__A,
>> i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fnmsub_round_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -6058,28 +5419,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask_fnmsub_round_pd_unary_fneg(<8 x
>> double> %__A, i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_mask_fnmsub_round_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fnmsub_round_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1}
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <8 x double> %__B
>> -  %neg1 = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x
>> double> %__A, <8 x double> %neg, <8 x double> %neg1, i32 8)
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask3_fnmsub_round_pd(<8 x double> %__A,
>> <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fnmsub_round_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -6104,30 +5443,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask3_fnmsub_round_pd_unary_fneg(<8 x
>> double> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fnmsub_round_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X86-NEXT:    vmovapd %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fnmsub_round_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X64-NEXT:    vmovapd %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <8 x double> %__B
>> -  %neg1 = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x
>> double> %__A, <8 x double> %neg, <8 x double> %neg1, i32 8)
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask_fnmsub_pd(<8 x double> %__A, i8
>> zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fnmsub_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -6150,28 +5465,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask_fnmsub_pd_unary_fneg(<8 x double>
>> %__A, i8 zeroext %__U, <8 x double> %__B, <8 x double> %__C) {
>> -; X86-LABEL: test_mm512_mask_fnmsub_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmsub132pd {{.*#+}} zmm0 = -(zmm0 * zmm1) - zmm2
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask_fnmsub_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmsub132pd {{.*#+}} zmm0 = -(zmm0 * zmm1) - zmm2
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <8 x double> %__B
>> -  %neg2.i = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %neg.i, <8 x double> %neg2.i) #10
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <8 x double> @test_mm512_mask3_fnmsub_pd(<8 x double> %__A, <8 x
>> double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>>  ; X86-LABEL: test_mm512_mask3_fnmsub_pd:
>>  ; X86:       # %bb.0: # %entry
>> @@ -6196,30 +5489,6 @@ entry:
>>    ret <8 x double> %2
>>  }
>>
>> -define <8 x double> @test_mm512_mask3_fnmsub_pd_unary_fneg(<8 x double>
>> %__A, <8 x double> %__B, <8 x double> %__C, i8 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fnmsub_pd_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movb {{[0-9]+}}(%esp), %al
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmsub231pd {{.*#+}} zmm2 = -(zmm0 * zmm1) - zmm2
>> -; X86-NEXT:    vmovapd %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fnmsub_pd_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmsub231pd {{.*#+}} zmm2 = -(zmm0 * zmm1) - zmm2
>> -; X64-NEXT:    vmovapd %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg.i = fneg <8 x double> %__B
>> -  %neg2.i = fneg <8 x double> %__C
>> -  %0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x
>> double> %neg.i, <8 x double> %neg2.i) #10
>> -  %1 = bitcast i8 %__U to <8 x i1>
>> -  %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
>> -  ret <8 x double> %2
>> -}
>> -
>>  define <16 x float> @test_mm512_mask_fnmsub_round_ps(<16 x float> %__A,
>> i16 zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>>  ; X86-LABEL: test_mm512_mask_fnmsub_round_ps:
>>  ; X86:       # %bb.0: # %entry
>> @@ -6264,30 +5533,6 @@ entry:
>>    %1 = bitcast i16 %__U to <16 x i1>
>>    %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
>>    ret <16 x float> %2
>> -}
>> -
>> -define <16 x float> @test_mm512_mask3_fnmsub_round_ps_unary_fneg(<16 x
>> float> %__A, <16 x float> %__B, <16 x float> %__C, i16 zeroext %__U) {
>> -; X86-LABEL: test_mm512_mask3_fnmsub_round_ps_unary_fneg:
>> -; X86:       # %bb.0: # %entry
>> -; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
>> -; X86-NEXT:    kmovw %eax, %k1
>> -; X86-NEXT:    vfnmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X86-NEXT:    vmovaps %zmm2, %zmm0
>> -; X86-NEXT:    retl
>> -;
>> -; X64-LABEL: test_mm512_mask3_fnmsub_round_ps_unary_fneg:
>> -; X64:       # %bb.0: # %entry
>> -; X64-NEXT:    kmovw %edi, %k1
>> -; X64-NEXT:    vfnmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1}
>> -; X64-NEXT:    vmovaps %zmm2, %zmm0
>> -; X64-NEXT:    retq
>> -entry:
>> -  %neg = fneg <16 x float> %__B
>> -  %neg1 = fneg <16 x float> %__C
>> -  %0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.x86.avx512.vfmadd.ps&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=zVQlNoHs_yAPzFyTuJ4StyQ62z_eo111B2HICm2OwBw&e=>.512(<16
>> x float> %__A, <16 x float> %neg, <16 x float> %neg1, i32 8)
>> -  %1 = bitcast i16 %__U to <16 x i1>
>> -  %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
>> -  ret <16 x float> %2
>>  }
>>
>>  define <16 x float> @test_mm512_mask_fnmsub_ps(<16 x float> %__A, i16
>> zeroext %__U, <16 x float> %__B, <16 x float> %__C) {
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=O_4M49EtSpZ_-BQYeigzGv0P4__noMcSu2RYEjS1vKs&m=J5guzLep0X97ial7dIAK5OMAWOJz7w8tKT48Mq9J4zs&s=pDJXdx_S_kbnPKxM7ECmiEYMc8bQ0Pm7f5UOojdjj1k&e=>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190617/68ddd80e/attachment.html>


More information about the llvm-commits mailing list