diff options
author | Craig Topper <craig.topper@intel.com> | 2017-12-31 07:38:33 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2017-12-31 07:38:33 +0000 |
commit | a17ce5745c80d356c17c572ed1843439be5c67ab (patch) | |
tree | 6745c5a61994f201fb1d9b3ade672f3b5246c761 /test/CodeGen/X86 | |
parent | 9e69c62b8f6e8408bb4e6f08d5f670358eb1ac70 (diff) |
[X86] Remove AND32ri8 from pattern for v1i1 load.
I don't think anything would actually expect the other bits to be zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321596 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r-- | test/CodeGen/X86/avx512-calling-conv.ll | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/test/CodeGen/X86/avx512-calling-conv.ll b/test/CodeGen/X86/avx512-calling-conv.ll index 5ea44c5ea2d..e3cf2181387 100644 --- a/test/CodeGen/X86/avx512-calling-conv.ll +++ b/test/CodeGen/X86/avx512-calling-conv.ll @@ -412,18 +412,23 @@ define i32 @test12(i32 %a1, i32 %a2, i32 %b1) { } define <1 x i1> @test13(<1 x i1>* %foo) { -; ALL_X64-LABEL: test13: -; ALL_X64: ## %bb.0: -; ALL_X64-NEXT: movzbl (%rdi), %eax -; ALL_X64-NEXT: andl $1, %eax -; ALL_X64-NEXT: ## kill: def %al killed %al killed %eax -; ALL_X64-NEXT: retq +; KNL-LABEL: test13: +; KNL: ## %bb.0: +; KNL-NEXT: movzbl (%rdi), %eax +; KNL-NEXT: ## kill: def %al killed %al killed %eax +; KNL-NEXT: retq +; +; SKX-LABEL: test13: +; SKX: ## %bb.0: +; SKX-NEXT: kmovb (%rdi), %k0 +; SKX-NEXT: kmovd %k0, %eax +; SKX-NEXT: ## kill: def %al killed %al killed %eax +; SKX-NEXT: retq ; ; KNL_X32-LABEL: test13: ; KNL_X32: ## %bb.0: ; KNL_X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_X32-NEXT: movzbl (%eax), %eax -; KNL_X32-NEXT: andl $1, %eax ; KNL_X32-NEXT: ## kill: def %al killed %al killed %eax ; KNL_X32-NEXT: retl %bar = load <1 x i1>, <1 x i1>* %foo |