From c1c05aeb5dc2b68ff85f0164665f2f2023c1701e Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Fri, 29 Aug 2014 13:05:18 +0000 Subject: 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 --- llvm/test/CodeGen/AArch64/cond-sel.ll | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'llvm/test/CodeGen/AArch64/cond-sel.ll') 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> , <1 x i1> zeroinitializer + ret <1 x i1> %res +} -- cgit v1.2.3