diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2019-02-08 23:34:57 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2019-02-08 23:34:57 +0000 |
| commit | 1386d99c777f3ac2443f815df5f6ec353afe3e9b (patch) | |
| tree | 3d4accf85a02d80fe87cdd632eef2af35a57f43e /llvm/test/CodeGen/X86/setcc-combine.ll | |
| parent | 8bc57953b77a03a35afca759b1da90e9d714b22d (diff) | |
| download | bcm5719-llvm-1386d99c777f3ac2443f815df5f6ec353afe3e9b.tar.gz bcm5719-llvm-1386d99c777f3ac2443f815df5f6ec353afe3e9b.zip | |
[x86] add test for miscompiling setcc transform (PR40657); NFC
llvm-svn: 353580
Diffstat (limited to 'llvm/test/CodeGen/X86/setcc-combine.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/setcc-combine.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/setcc-combine.ll b/llvm/test/CodeGen/X86/setcc-combine.ll index 9d2753cc29a..d7f0a264218 100644 --- a/llvm/test/CodeGen/X86/setcc-combine.ll +++ b/llvm/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 +} + |

