1 ; RUN: opt < %s -instcombine -S | grep bitcast | count 1
3 ; InstCombine can not 'load (cast P)' -> cast (load P)' if the cast changes
7 define void @test2(i8 addrspace(1)* %source, <2 x i8> addrspace(1)* %dest) {
9 %arrayidx1 = bitcast <2 x i8> addrspace(1)* %dest to <2 x i8> addrspace(1)*
10 %conv = bitcast i8 addrspace(1)* %source to <16 x i8>*
11 %arrayidx22 = bitcast <16 x i8>* %conv to <16 x i8>*
12 %tmp3 = load <16 x i8>* %arrayidx22
13 %arrayidx223 = bitcast i8 addrspace(1)* %source to i8*
14 %tmp4 = load i8* %arrayidx223
15 %tmp5 = insertelement <2 x i8> undef, i8 %tmp4, i32 0
16 %splat = shufflevector <2 x i8> %tmp5, <2 x i8> undef, <2 x i32> zeroinitializer
17 store <2 x i8> %splat, <2 x i8> addrspace(1)* %arrayidx1