Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llc -march=ppc32 | not grep addi |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 3 | %struct.X = type { [5 x i8] } |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 5 | define i32 @test1([4 x i32]* %P, i32 %i) { |
| 6 | %tmp.2 = add i32 %i, 2 ; <i32> [#uses=1] |
| 7 | %tmp.4 = getelementptr [4 x i32]* %P, i32 %tmp.2, i32 1 ; <i32*> [#uses=1] |
| 8 | %tmp.5 = load i32* %tmp.4 ; <i32> [#uses=1] |
| 9 | ret i32 %tmp.5 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 10 | } |
| 11 | |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 12 | define i32 @test2(%struct.X* %P, i32 %i) { |
| 13 | %tmp.2 = add i32 %i, 2 ; <i32> [#uses=1] |
| 14 | %tmp.5 = getelementptr %struct.X* %P, i32 %tmp.2, i32 0, i32 1 ; <i8*> [#uses=1] |
| 15 | %tmp.6 = load i8* %tmp.5 ; <i8> [#uses=1] |
| 16 | %tmp.7 = sext i8 %tmp.6 to i32 ; <i32> [#uses=1] |
| 17 | ret i32 %tmp.7 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 18 | } |
| 19 | |