-; RUN: llvm-as < %s | llc -march=ppc32 &&
; RUN: llvm-as < %s | llc -march=ppc32 | not grep addi
- %struct.X = type { [5 x sbyte] }
-implementation ; Functions:
+ %struct.X = type { [5 x i8] }
-int %test1([4 x int]* %P, int %i) {
- %tmp.2 = add int %i, 2 ; <int> [#uses=1]
- %tmp.4 = getelementptr [4 x int]* %P, int %tmp.2, int 1
- %tmp.5 = load int* %tmp.4
- ret int %tmp.5
+define i32 @test1([4 x i32]* %P, i32 %i) {
+ %tmp.2 = add i32 %i, 2 ; <i32> [#uses=1]
+ %tmp.4 = getelementptr [4 x i32]* %P, i32 %tmp.2, i32 1 ; <i32*> [#uses=1]
+ %tmp.5 = load i32* %tmp.4 ; <i32> [#uses=1]
+ ret i32 %tmp.5
}
-int %test2(%struct.X* %P, int %i) {
- %tmp.2 = add int %i, 2
- %tmp.5 = getelementptr %struct.X* %P, int %tmp.2, uint 0, int 1
- %tmp.6 = load sbyte* %tmp.5
- %tmp.7 = cast sbyte %tmp.6 to int
- ret int %tmp.7
+define i32 @test2(%struct.X* %P, i32 %i) {
+ %tmp.2 = add i32 %i, 2 ; <i32> [#uses=1]
+ %tmp.5 = getelementptr %struct.X* %P, i32 %tmp.2, i32 0, i32 1 ; <i8*> [#uses=1]
+ %tmp.6 = load i8* %tmp.5 ; <i8> [#uses=1]
+ %tmp.7 = sext i8 %tmp.6 to i32 ; <i32> [#uses=1]
+ ret i32 %tmp.7
}