1 ; RUN: llc < %s -march=arm | \ 2 ; RUN: grep {str.*\\!} | count 2 3 4 define void @test1(i32* %X, i32* %A, i32** %dest) { 5 %B = load i32* %A ; <i32> [#uses=1] 6 %Y = getelementptr i32* %X, i32 4 ; <i32*> [#uses=2] 7 store i32 %B, i32* %Y 8 store i32* %Y, i32** %dest 9 ret void 10 } 11 12 define i16* @test2(i16* %X, i32* %A) { 13 %B = load i32* %A ; <i32> [#uses=1] 14 %Y = getelementptr i16* %X, i32 4 ; <i16*> [#uses=2] 15 %tmp = trunc i32 %B to i16 ; <i16> [#uses=1] 16 store i16 %tmp, i16* %Y 17 ret i16* %Y 18 } 19