Krzysztof Parzyszek | 167d918 | 2016-07-28 20:01:59 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=hexagon < %s | FileCheck %s |
2 | ; CHECK: cmp | ||||
3 | ; Make sure that the result is not a compile-time constant. | ||||
4 | |||||
5 | define i64 @foo(i32 %x) { | ||||
6 | entry: | ||||
7 | %c = icmp slt i32 %x, 17 | ||||
8 | br i1 %c, label %b1, label %b2 | ||||
9 | b1: | ||||
10 | br label %b2 | ||||
11 | b2: | ||||
12 | %p = phi i32 [ 1, %entry ], [ 0, %b1 ] | ||||
13 | %q = sub i32 %x, %x | ||||
14 | %y = zext i32 %q to i64 | ||||
15 | %u = shl i64 %y, 32 | ||||
16 | %v = zext i32 %p to i64 | ||||
17 | %w = or i64 %u, %v | ||||
18 | ret i64 %w | ||||
19 | } |