1; RUN: llc < %s -march=ppc32 | \ 2; RUN: not grep addi 3; RUN: llc -code-model=small < %s -march=ppc64 | \ 4; RUN: not grep addi 5 6@Glob = global i64 4 7 8define i32* @test0(i32* %X, i32* %dest) nounwind { 9 %Y = getelementptr i32* %X, i32 4 10 %A = load i32* %Y 11 store i32 %A, i32* %dest 12 ret i32* %Y 13} 14 15define i32* @test1(i32* %X, i32* %dest) nounwind { 16 %Y = getelementptr i32* %X, i32 4 17 %A = load i32* %Y 18 store i32 %A, i32* %dest 19 ret i32* %Y 20} 21 22define i16* @test2(i16* %X, i32* %dest) nounwind { 23 %Y = getelementptr i16* %X, i32 4 24 %A = load i16* %Y 25 %B = sext i16 %A to i32 26 store i32 %B, i32* %dest 27 ret i16* %Y 28} 29 30define i16* @test3(i16* %X, i32* %dest) nounwind { 31 %Y = getelementptr i16* %X, i32 4 32 %A = load i16* %Y 33 %B = zext i16 %A to i32 34 store i32 %B, i32* %dest 35 ret i16* %Y 36} 37 38define i16* @test3a(i16* %X, i64* %dest) nounwind { 39 %Y = getelementptr i16* %X, i32 4 40 %A = load i16* %Y 41 %B = sext i16 %A to i64 42 store i64 %B, i64* %dest 43 ret i16* %Y 44} 45 46define i64* @test4(i64* %X, i64* %dest) nounwind { 47 %Y = getelementptr i64* %X, i32 4 48 %A = load i64* %Y 49 store i64 %A, i64* %dest 50 ret i64* %Y 51} 52 53define i16* @test5(i16* %X) nounwind { 54 %Y = getelementptr i16* %X, i32 4 55 store i16 7, i16* %Y 56 ret i16* %Y 57} 58 59define i64* @test6(i64* %X, i64 %A) nounwind { 60 %Y = getelementptr i64* %X, i32 4 61 store i64 %A, i64* %Y 62 ret i64* %Y 63} 64 65define i64* @test7(i64* %X, i64 %A) nounwind { 66 store i64 %A, i64* @Glob 67 ret i64* @Glob 68} 69