diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/fast-isel-nontemporal.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/fast-isel-nontemporal.ll | 48 |
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 |