From 73b772da46cbf40e11938898f38e4f0c5e3da477 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Fri, 8 Feb 2019 23:34:57 +0000 Subject: [PATCH] [x86] add test for miscompiling setcc transform (PR40657); NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353580 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/setcc-combine.ll | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/CodeGen/X86/setcc-combine.ll b/test/CodeGen/X86/setcc-combine.ll index 9d2753cc29a..d7f0a264218 100644 --- a/test/CodeGen/X86/setcc-combine.ll +++ b/test/CodeGen/X86/setcc-combine.ll @@ -262,3 +262,21 @@ define void @test_i1_uge(i1 *%A2) { ret void } +; FIXME: This should not get folded to 0. + +define i64 @PR40657(i8 %var2, i8 %var9) { +; CHECK-LABEL: PR40657: +; CHECK: # %bb.0: +; CHECK-NEXT: xorl %eax, %eax +; CHECK-NEXT: retq + %var6 = trunc i8 %var9 to i1 + %var7 = trunc i8 175 to i1 + %var3 = sub nsw i1 %var6, %var7 + %var4 = icmp eq i64 1114591064, 1114591064 + %var1 = udiv i1 %var3, %var4 + %var0 = trunc i8 %var2 to i1 + %res = sub nsw nuw i1 %var0, %var1 + %res.cast = zext i1 %res to i64 + ret i64 %res.cast +} + -- 2.40.0