summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/avx512-memfold.ll
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-02-21 04:26:10 +0000
committerCraig Topper <craig.topper@gmail.com>2017-02-21 04:26:10 +0000
commitd9fe6648686b64b76e363816f8dada5b6c3c6354 (patch)
treec25f24309fad3b1cbb14809a36d0d928bf7a098e /llvm/test/CodeGen/X86/avx512-memfold.ll
parent63b7d718449401b0e022ee13e2553a4c354b2a89 (diff)
downloadbcm5719-llvm-d9fe6648686b64b76e363816f8dada5b6c3c6354.tar.gz
bcm5719-llvm-d9fe6648686b64b76e363816f8dada5b6c3c6354.zip
[AVX-512] Use sse_load_f32/f64 in place of scalar_to_vector and scalar load in some patterns.
llvm-svn: 295693
Diffstat (limited to 'llvm/test/CodeGen/X86/avx512-memfold.ll')
-rw-r--r--llvm/test/CodeGen/X86/avx512-memfold.ll12
1 files changed, 4 insertions, 8 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-memfold.ll b/llvm/test/CodeGen/X86/avx512-memfold.ll
index f072780a56f..d754b2b78f6 100644
--- a/llvm/test/CodeGen/X86/avx512-memfold.ll
+++ b/llvm/test/CodeGen/X86/avx512-memfold.ll
@@ -4,10 +4,9 @@
define i8 @test_int_x86_avx512_mask_cmp_ss(<4 x float> %a, float* %b, i8 %mask) {
; CHECK-LABEL: test_int_x86_avx512_mask_cmp_ss:
; CHECK: ## BB#0:
-; CHECK-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; CHECK-NEXT: andl $1, %esi
; CHECK-NEXT: kmovw %esi, %k1
-; CHECK-NEXT: vcmpunordss %xmm1, %xmm0, %k0 {%k1}
+; CHECK-NEXT: vcmpunordss (%rdi), %xmm0, %k0 {%k1}
; CHECK-NEXT: kmovw %k0, %eax
; CHECK-NEXT: andl $1, %eax
; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
@@ -25,10 +24,9 @@ declare i8 @llvm.x86.avx512.mask.cmp.ss(<4 x float>, <4 x float>, i32, i8, i32)
define <4 x float> @test_mask_max_ss(<4 x float> %a, float* %b, i8 %mask) {
; CHECK-LABEL: test_mask_max_ss:
; CHECK: ## BB#0:
-; CHECK-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; CHECK-NEXT: andl $1, %esi
; CHECK-NEXT: kmovw %esi, %k1
-; CHECK-NEXT: vmaxss %xmm1, %xmm0, %xmm0 {%k1} {z}
+; CHECK-NEXT: vmaxss (%rdi), %xmm0, %xmm0 {%k1} {z}
; CHECK-NEXT: retq
%b.val = load float, float* %b
%bv0 = insertelement <4 x float> undef, float %b.val, i32 0
@@ -43,10 +41,9 @@ declare <4 x float> @llvm.x86.avx512.mask.max.ss.round(<4 x float>, <4 x float>,
define <4 x float> @test_maskz_add_ss(<4 x float> %a, float* %b, i8 %mask) {
; CHECK-LABEL: test_maskz_add_ss:
; CHECK: ## BB#0:
-; CHECK-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; CHECK-NEXT: andl $1, %esi
; CHECK-NEXT: kmovw %esi, %k1
-; CHECK-NEXT: vaddss %xmm1, %xmm0, %xmm0 {%k1} {z}
+; CHECK-NEXT: vaddss (%rdi), %xmm0, %xmm0 {%k1} {z}
; CHECK-NEXT: retq
%b.val = load float, float* %b
%bv0 = insertelement <4 x float> undef, float %b.val, i32 0
@@ -64,10 +61,9 @@ declare <2 x double> @llvm.x86.avx512.mask.vfmadd.sd(<2 x double>, <2 x double>,
define <2 x double> @test_int_x86_avx512_mask_vfmadd_sd(<2 x double> %a, <2 x double> %b, double* %c, i8 %mask){
; CHECK-LABEL: test_int_x86_avx512_mask_vfmadd_sd:
; CHECK: ## BB#0:
-; CHECK-NEXT: vmovsd {{.*#+}} xmm2 = mem[0],zero
; CHECK-NEXT: andl $1, %esi
; CHECK-NEXT: kmovw %esi, %k1
-; CHECK-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1}
+; CHECK-NEXT: vfmadd213sd (%rdi), %xmm1, %xmm0 {%k1}
; CHECK-NEXT: retq
%c.val = load double, double* %c
%cv0 = insertelement <2 x double> undef, double %c.val, i32 0
OpenPOWER on IntegriCloud