[X86][FastISel] Use a COPY from K register to a GPR instead of a K operation
The KORTEST was introduced due to a bug where a TEST instruction used a K register.
but, turns out that the opposite case of KORTEST using a GPR is now happening
The change removes the KORTEST flow and adds a COPY instruction from the K reg to a GPR.
Differential Revision: https://reviews.llvm.org/D24953
llvm-svn: 282580
diff --git a/llvm/test/CodeGen/X86/fast-isel-load-i1.ll b/llvm/test/CodeGen/X86/fast-isel-load-i1.ll
new file mode 100644
index 0000000..1b2e3c5
--- /dev/null
+++ b/llvm/test/CodeGen/X86/fast-isel-load-i1.ll
@@ -0,0 +1,15 @@
+; RUN: llc < %s -fast-isel -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f | FileCheck %s
+
+define i1 @test_i1(i1* %b) {
+; CHECK-LABEL: test_i1:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: testb $1, (%rdi)
+entry:
+ %0 = load i1, i1* %b, align 1
+ br i1 %0, label %in, label %out
+in:
+ ret i1 0
+out:
+ ret i1 1
+}
+