summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-07-21 00:40:42 +0000
committerCraig Topper <craig.topper@intel.com>2017-07-21 00:40:42 +0000
commit31140ade70a995f32ff9001079be3f0e5139b521 (patch)
tree5c63df47907120866cdc6bbcddb2a5ea1c453804 /llvm/test/CodeGen
parentd8e12128dc5d0c655442f44449461085c6f3d9b2 (diff)
downloadbcm5719-llvm-31140ade70a995f32ff9001079be3f0e5139b521.tar.gz
bcm5719-llvm-31140ade70a995f32ff9001079be3f0e5139b521.zip
[AVX-512] Fix a bug that prevented some non-temporal loads from using the movntdqa instruction.
The bitconverts here had an input type of 128-bits and an output type of 256 bits. The input type should also have been 256 bits. llvm-svn: 308702
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/X86/nontemporal-loads.ll39
1 files changed, 9 insertions, 30 deletions
diff --git a/llvm/test/CodeGen/X86/nontemporal-loads.ll b/llvm/test/CodeGen/X86/nontemporal-loads.ll
index 3c916fd38c6..a9e42ad5f7b 100644
--- a/llvm/test/CodeGen/X86/nontemporal-loads.ll
+++ b/llvm/test/CodeGen/X86/nontemporal-loads.ll
@@ -211,20 +211,10 @@ define <8 x i32> @test_v8i32(<8 x i32>* %src) {
; AVX2-NEXT: vmovntdqa (%rdi), %ymm0
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: test_v8i32:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovntdqa (%rdi), %ymm0
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: test_v8i32:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovntdqa (%rdi), %ymm0
-; AVX512BW-NEXT: retq
-;
-; AVX512VL-LABEL: test_v8i32:
-; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vmovaps (%rdi), %ymm0
-; AVX512VL-NEXT: retq
+; AVX512-LABEL: test_v8i32:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovntdqa (%rdi), %ymm0
+; AVX512-NEXT: retq
%1 = load <8 x i32>, <8 x i32>* %src, align 32, !nontemporal !1
ret <8 x i32> %1
}
@@ -876,22 +866,11 @@ define <8 x i32> @test_arg_v8i32(<8 x i32> %arg, <8 x i32>* %src) {
; AVX2-NEXT: vpaddd %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: test_arg_v8i32:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovntdqa (%rdi), %ymm1
-; AVX512F-NEXT: vpaddd %ymm1, %ymm0, %ymm0
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: test_arg_v8i32:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovntdqa (%rdi), %ymm1
-; AVX512BW-NEXT: vpaddd %ymm1, %ymm0, %ymm0
-; AVX512BW-NEXT: retq
-;
-; AVX512VL-LABEL: test_arg_v8i32:
-; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vpaddd (%rdi), %ymm0, %ymm0
-; AVX512VL-NEXT: retq
+; AVX512-LABEL: test_arg_v8i32:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovntdqa (%rdi), %ymm1
+; AVX512-NEXT: vpaddd %ymm1, %ymm0, %ymm0
+; AVX512-NEXT: retq
%1 = load <8 x i32>, <8 x i32>* %src, align 32, !nontemporal !1
%2 = add <8 x i32> %arg, %1
ret <8 x i32> %2
OpenPOWER on IntegriCloud