diff options
Diffstat (limited to 'test/Transforms/InstCombine/icmp.ll')
-rw-r--r-- | test/Transforms/InstCombine/icmp.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/icmp.ll b/test/Transforms/InstCombine/icmp.ll index 77ca62cfec..e3d12f7fff 100644 --- a/test/Transforms/InstCombine/icmp.ll +++ b/test/Transforms/InstCombine/icmp.ll @@ -559,3 +559,14 @@ define i1 @test57(i32 %a) { call void @foo(i32 %and) ret i1 %cmp } + +; rdar://problem/10482509 +; CHECK: @cmpabs +; CHECK-NEXT: icmp ne +define zeroext i1 @cmpabs(i64 %val) { + %sub = sub nsw i64 0, %val + %cmp = icmp slt i64 %val, 0 + %sub.val = select i1 %cmp, i64 %sub, i64 %val + %tobool = icmp ne i64 %sub.val, 0 + ret i1 %tobool +} |