blob: 5f23e0a32993c1cfe27495b886c184e4b193c248 [file] [log] [blame]
Michael Zolotukhin0c380a32014-05-05 14:05:25 +00001; RUN: llc < %s -O3 -march=x86-64 |FileCheck %s
2define i64 @foo(i1 %z, i192* %p, i192* %q)
3{
4; CHECK: movq 16(%rsi), %rax
5; CHECK-NEXT: retq
6entry:
7 %data1 = load i192* %p, align 8
8 %lshr1 = lshr i192 %data1, 128
9 %val1 = trunc i192 %lshr1 to i64
10 br i1 %z, label %End, label %L_val2
11
12; CHECK: movq 16(%rdx), %rax
13; CHECK-NEXT: retq
14L_val2:
15 %data2 = load i192* %q, align 8
16 %lshr2 = lshr i192 %data2, 128
17 %val2 = trunc i192 %lshr2 to i64
18 br label %End
19
20End:
21 %p1 = phi i64 [%val1,%entry], [%val2,%L_val2]
22 ret i64 %p1
23}