diff options
author | Tim Northover <tnorthover@apple.com> | 2014-08-29 13:05:18 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-08-29 13:05:18 +0000 |
commit | c1c05aeb5dc2b68ff85f0164665f2f2023c1701e (patch) | |
tree | 359c2bce1bfe20e77d43f05881db16de62ccd77b /llvm/test/CodeGen/AArch64/cond-sel.ll | |
parent | 73e171f76d7c070d862c139ed438a46c9b5f3f7e (diff) | |
download | bcm5719-llvm-c1c05aeb5dc2b68ff85f0164665f2f2023c1701e.tar.gz bcm5719-llvm-c1c05aeb5dc2b68ff85f0164665f2f2023c1701e.zip |
AArch64: skip select/setcc combine in complex case.
In an llvm-stress generated test, we were trying to create a v0iN type and
asserting when that failed. This case could probably be handled by the
function, but not without added complexity and the situation it arises in is
sufficiently odd that there's probably no benefit anyway.
Should fix PR20775.
llvm-svn: 216725
Diffstat (limited to 'llvm/test/CodeGen/AArch64/cond-sel.ll')
-rw-r--r-- | llvm/test/CodeGen/AArch64/cond-sel.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/cond-sel.ll b/llvm/test/CodeGen/AArch64/cond-sel.ll index 5f81cba66cb..333f2436133 100644 --- a/llvm/test/CodeGen/AArch64/cond-sel.ll +++ b/llvm/test/CodeGen/AArch64/cond-sel.ll @@ -214,3 +214,13 @@ define void @test_csetm(i32 %lhs, i32 %rhs, i64 %lhs64) { ret void ; CHECK: ret } + +define <1 x i1> @test_wide_comparison(i32 %in) { +; CHECK-LABEL: test_wide_comparison: +; CHECK: cmp w0, #1234 +; CHECK: cset + + %tmp = icmp sgt i32 %in, 1234 + %res = select i1 %tmp, <1 x i1> <i1 1>, <1 x i1> zeroinitializer + ret <1 x i1> %res +} |