1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -analyze -scalar-evolution
2*9880d681SAndroid Build Coastguard Worker; PR4501
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @test() {
5*9880d681SAndroid Build Coastguard Workerentry:
6*9880d681SAndroid Build Coastguard Worker        %0 = load i16, i16* undef, align 1
7*9880d681SAndroid Build Coastguard Worker        %1 = lshr i16 %0, 8
8*9880d681SAndroid Build Coastguard Worker        %2 = and i16 %1, 3
9*9880d681SAndroid Build Coastguard Worker        %3 = zext i16 %2 to i32
10*9880d681SAndroid Build Coastguard Worker        %4 = load i8, i8* undef, align 1
11*9880d681SAndroid Build Coastguard Worker        %5 = lshr i8 %4, 4
12*9880d681SAndroid Build Coastguard Worker        %6 = and i8 %5, 1
13*9880d681SAndroid Build Coastguard Worker        %7 = zext i8 %6 to i32
14*9880d681SAndroid Build Coastguard Worker        %t1 = add i32 %3, %7
15*9880d681SAndroid Build Coastguard Worker        ret void
16*9880d681SAndroid Build Coastguard Worker}
17