summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/fast-isel-nontemporal.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/fast-isel-nontemporal.ll')
-rw-r--r--llvm/test/CodeGen/X86/fast-isel-nontemporal.ll48
1 files changed, 16 insertions, 32 deletions
diff --git a/llvm/test/CodeGen/X86/fast-isel-nontemporal.ll b/llvm/test/CodeGen/X86/fast-isel-nontemporal.ll
index 37e380b2b48..7345df7ae0f 100644
--- a/llvm/test/CodeGen/X86/fast-isel-nontemporal.ll
+++ b/llvm/test/CodeGen/X86/fast-isel-nontemporal.ll
@@ -891,6 +891,8 @@ define void @test_nt64xi8(<64 x i8>* nocapture %ptr, <64 x i8> %X) {
;
; AVX512VL-LABEL: test_nt64xi8:
; AVX512VL: # %bb.0: # %entry
+; AVX512VL-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512VL-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
; AVX512VL-NEXT: vmovntdq %ymm0, (%rdi)
; AVX512VL-NEXT: vmovntdq %ymm1, 32(%rdi)
; AVX512VL-NEXT: vzeroupper
@@ -898,6 +900,8 @@ define void @test_nt64xi8(<64 x i8>* nocapture %ptr, <64 x i8> %X) {
;
; AVX512F-LABEL: test_nt64xi8:
; AVX512F: # %bb.0: # %entry
+; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
; AVX512F-NEXT: vmovntdq %ymm0, (%rdi)
; AVX512F-NEXT: vmovntdq %ymm1, 32(%rdi)
; AVX512F-NEXT: vzeroupper
@@ -931,6 +935,8 @@ define void @test_nt32xi16(<32 x i16>* nocapture %ptr, <32 x i16> %X) {
;
; AVX512VL-LABEL: test_nt32xi16:
; AVX512VL: # %bb.0: # %entry
+; AVX512VL-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512VL-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
; AVX512VL-NEXT: vmovntdq %ymm0, (%rdi)
; AVX512VL-NEXT: vmovntdq %ymm1, 32(%rdi)
; AVX512VL-NEXT: vzeroupper
@@ -938,6 +944,8 @@ define void @test_nt32xi16(<32 x i16>* nocapture %ptr, <32 x i16> %X) {
;
; AVX512F-LABEL: test_nt32xi16:
; AVX512F: # %bb.0: # %entry
+; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
; AVX512F-NEXT: vmovntdq %ymm0, (%rdi)
; AVX512F-NEXT: vmovntdq %ymm1, 32(%rdi)
; AVX512F-NEXT: vzeroupper
@@ -1162,22 +1170,10 @@ define <64 x i8> @test_load_nt64xi8(<64 x i8>* nocapture %ptr) {
; AVX2-NEXT: vmovntdqa 32(%rdi), %ymm1
; AVX2-NEXT: retq
;
-; AVX512VL-LABEL: test_load_nt64xi8:
-; AVX512VL: # %bb.0: # %entry
-; AVX512VL-NEXT: vmovntdqa (%rdi), %ymm0
-; AVX512VL-NEXT: vmovntdqa 32(%rdi), %ymm1
-; AVX512VL-NEXT: retq
-;
-; AVX512F-LABEL: test_load_nt64xi8:
-; AVX512F: # %bb.0: # %entry
-; AVX512F-NEXT: vmovntdqa (%rdi), %ymm0
-; AVX512F-NEXT: vmovntdqa 32(%rdi), %ymm1
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: test_load_nt64xi8:
-; AVX512BW: # %bb.0: # %entry
-; AVX512BW-NEXT: vmovntdqa (%rdi), %zmm0
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: test_load_nt64xi8:
+; AVX512: # %bb.0: # %entry
+; AVX512-NEXT: vmovntdqa (%rdi), %zmm0
+; AVX512-NEXT: retq
entry:
%0 = load <64 x i8>, <64 x i8>* %ptr, align 64, !nontemporal !1
ret <64 x i8> %0
@@ -1228,22 +1224,10 @@ define <32 x i16> @test_load_nt32xi16(<32 x i16>* nocapture %ptr) {
; AVX2-NEXT: vmovntdqa 32(%rdi), %ymm1
; AVX2-NEXT: retq
;
-; AVX512VL-LABEL: test_load_nt32xi16:
-; AVX512VL: # %bb.0: # %entry
-; AVX512VL-NEXT: vmovntdqa (%rdi), %ymm0
-; AVX512VL-NEXT: vmovntdqa 32(%rdi), %ymm1
-; AVX512VL-NEXT: retq
-;
-; AVX512F-LABEL: test_load_nt32xi16:
-; AVX512F: # %bb.0: # %entry
-; AVX512F-NEXT: vmovntdqa (%rdi), %ymm0
-; AVX512F-NEXT: vmovntdqa 32(%rdi), %ymm1
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: test_load_nt32xi16:
-; AVX512BW: # %bb.0: # %entry
-; AVX512BW-NEXT: vmovntdqa (%rdi), %zmm0
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: test_load_nt32xi16:
+; AVX512: # %bb.0: # %entry
+; AVX512-NEXT: vmovntdqa (%rdi), %zmm0
+; AVX512-NEXT: retq
entry:
%0 = load <32 x i16>, <32 x i16>* %ptr, align 64, !nontemporal !1
ret <32 x i16> %0
OpenPOWER on IntegriCloud