xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s
2*9880d681SAndroid Build Coastguard Worker; REQUIRES: default_triple
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @iterative_hash_host_wide_int() {
5*9880d681SAndroid Build Coastguard Worker        %zero = alloca i32              ; <i32*> [#uses=2]
6*9880d681SAndroid Build Coastguard Worker        %b = alloca i32         ; <i32*> [#uses=1]
7*9880d681SAndroid Build Coastguard Worker        store i32 0, i32* %zero
8*9880d681SAndroid Build Coastguard Worker        %tmp = load i32, i32* %zero          ; <i32> [#uses=1]
9*9880d681SAndroid Build Coastguard Worker        %tmp5 = bitcast i32 %tmp to i32         ; <i32> [#uses=1]
10*9880d681SAndroid Build Coastguard Worker        %tmp6.u = add i32 %tmp5, 32             ; <i32> [#uses=1]
11*9880d681SAndroid Build Coastguard Worker        %tmp6 = bitcast i32 %tmp6.u to i32              ; <i32> [#uses=1]
12*9880d681SAndroid Build Coastguard Worker        %tmp7 = load i64, i64* null          ; <i64> [#uses=1]
13*9880d681SAndroid Build Coastguard Worker        %tmp6.upgrd.1 = trunc i32 %tmp6 to i8           ; <i8> [#uses=1]
14*9880d681SAndroid Build Coastguard Worker        %shift.upgrd.2 = zext i8 %tmp6.upgrd.1 to i64           ; <i64> [#uses=1]
15*9880d681SAndroid Build Coastguard Worker        %tmp8 = ashr i64 %tmp7, %shift.upgrd.2          ; <i64> [#uses=1]
16*9880d681SAndroid Build Coastguard Worker        %tmp8.upgrd.3 = trunc i64 %tmp8 to i32          ; <i32> [#uses=1]
17*9880d681SAndroid Build Coastguard Worker        store i32 %tmp8.upgrd.3, i32* %b
18*9880d681SAndroid Build Coastguard Worker        unreachable
19*9880d681SAndroid Build Coastguard Worker}
20*9880d681SAndroid Build Coastguard Worker
21