summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/2012-07-23-select_cc.ll
diff options
context:
space:
mode:
authorNadav Rotem <nadav.rotem@intel.com>2012-07-23 07:59:50 +0000
committerNadav Rotem <nadav.rotem@intel.com>2012-07-23 07:59:50 +0000
commited1a335ece5c83230af662580e69008ed6fcca17 (patch)
treeea3bc648261cb21bd6e09b38a4164dbd24385896 /test/CodeGen/X86/2012-07-23-select_cc.ll
parentf093393b9a65eae6b04c487784cb8256b15b790e (diff)
downloadllvm-ed1a335ece5c83230af662580e69008ed6fcca17.tar.gz
llvm-ed1a335ece5c83230af662580e69008ed6fcca17.tar.bz2
llvm-ed1a335ece5c83230af662580e69008ed6fcca17.tar.xz
Fixed DAGCombine optimizations which generate select_cc for targets
that do not support it (X86 does not lower select_cc). PR: 13428 Together with Michael Kuperstein <michael.m.kuperstein@intel.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160619 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2012-07-23-select_cc.ll')
-rw-r--r--test/CodeGen/X86/2012-07-23-select_cc.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2012-07-23-select_cc.ll b/test/CodeGen/X86/2012-07-23-select_cc.ll
new file mode 100644
index 0000000000..33fcb120e1
--- /dev/null
+++ b/test/CodeGen/X86/2012-07-23-select_cc.ll
@@ -0,0 +1,19 @@
+; RUN: llc < %s -march=x86-64 -mcpu=corei7
+
+target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; PR 13428
+
+declare void @use(double)
+
+define void @test() {
+entry:
+ call void @use(double 1.000000e+00)
+ %A = icmp eq i64 undef, 2
+ %B = zext i1 %A to i32
+ %C = sitofp i32 %B to double
+ call void @use(double %C)
+ call void @use(double 0.000000e+00)
+ unreachable
+}