| Dan Gohman | c8054d9 | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s | grep ly | count 2 |
| 2 | ; RUN: llc < %s | grep sty | count 2 |
| 3 | ; RUN: llc < %s | grep {l %} | count 2 |
| 4 | ; RUN: llc < %s | grep {st %} | count 2 |
| Anton Korobeynikov | 62f8515 | 2009-07-16 14:09:35 +0000 | [diff] [blame] | 5 | |
| 6 | target datalayout = "E-p:64:64:64-i8:8:16-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-a0:16:16" |
| Duncan Sands | 68c3090 | 2010-08-30 10:48:29 +0000 | [diff] [blame] | 7 | target triple = "s390x-ibm-linux" |
| Anton Korobeynikov | 62f8515 | 2009-07-16 14:09:35 +0000 | [diff] [blame] | 8 | |
| 9 | define void @foo1(i32* nocapture %foo, i32* nocapture %bar) nounwind { |
| 10 | entry: |
| 11 | %tmp1 = load i32* %foo ; <i32> [#uses=1] |
| 12 | store i32 %tmp1, i32* %bar |
| 13 | ret void |
| 14 | } |
| 15 | |
| 16 | define void @foo2(i32* nocapture %foo, i32* nocapture %bar, i64 %idx) nounwind { |
| 17 | entry: |
| 18 | %add.ptr = getelementptr i32* %foo, i64 1 ; <i32*> [#uses=1] |
| 19 | %tmp1 = load i32* %add.ptr ; <i32> [#uses=1] |
| 20 | %add.ptr3.sum = add i64 %idx, 1 ; <i64> [#uses=1] |
| 21 | %add.ptr5 = getelementptr i32* %bar, i64 %add.ptr3.sum ; <i32*> [#uses=1] |
| 22 | store i32 %tmp1, i32* %add.ptr5 |
| 23 | ret void |
| 24 | } |
| 25 | |
| 26 | define void @foo3(i32* nocapture %foo, i32* nocapture %bar, i64 %idx) nounwind { |
| 27 | entry: |
| 28 | %sub.ptr = getelementptr i32* %foo, i64 -1 ; <i32*> [#uses=1] |
| 29 | %tmp1 = load i32* %sub.ptr ; <i32> [#uses=1] |
| 30 | %sub.ptr3.sum = add i64 %idx, -1 ; <i64> [#uses=1] |
| 31 | %add.ptr = getelementptr i32* %bar, i64 %sub.ptr3.sum ; <i32*> [#uses=1] |
| 32 | store i32 %tmp1, i32* %add.ptr |
| 33 | ret void |
| 34 | } |
| 35 | |
| 36 | define void @foo4(i32* nocapture %foo, i32* nocapture %bar, i64 %idx) nounwind { |
| 37 | entry: |
| 38 | %add.ptr = getelementptr i32* %foo, i64 8192 ; <i32*> [#uses=1] |
| 39 | %tmp1 = load i32* %add.ptr ; <i32> [#uses=1] |
| 40 | %add.ptr3.sum = add i64 %idx, 8192 ; <i64> [#uses=1] |
| 41 | %add.ptr5 = getelementptr i32* %bar, i64 %add.ptr3.sum ; <i32*> [#uses=1] |
| 42 | store i32 %tmp1, i32* %add.ptr5 |
| 43 | ret void |
| 44 | } |