blob: eff6cc997e35fe41dbaf920b4bbb212a79b37429 [file] [log] [blame]
Chandler Carrutha5a29f92012-07-02 12:47:22 +00001; RUN: opt < %s -sccp -S | grep "ret i101 12"
Reid Spencer9f9fe702007-04-13 22:33:10 +00002
3@Y = constant [6 x i101] [ i101 12, i101 123456789000000, i101 -12,i101
4-123456789000000, i101 0,i101 9123456789000000]
5
6define i101 @array()
7{
8Head:
David Blaikie79e6c742015-02-27 19:29:02 +00009 %A = getelementptr [6 x i101], [6 x i101]* @Y, i32 0, i32 1
Reid Spencer9f9fe702007-04-13 22:33:10 +000010
David Blaikiea79ac142015-02-27 21:17:42 +000011 %B = load i101, i101* %A
Reid Spencer9f9fe702007-04-13 22:33:10 +000012 %C = icmp sge i101 %B, 1
13 br i1 %C, label %True, label %False
14True:
15 %D = and i101 %B, 1
16 %E = trunc i101 %D to i32
David Blaikie79e6c742015-02-27 19:29:02 +000017 %F = getelementptr [6 x i101], [6 x i101]* @Y, i32 0, i32 %E
David Blaikiea79ac142015-02-27 21:17:42 +000018 %G = load i101, i101* %F
Reid Spencer9f9fe702007-04-13 22:33:10 +000019 br label %False
20False:
21 %H = phi i101 [%G, %True], [-1, %Head]
22 ret i101 %H
23}