Mercurial > hg > Members > tobaru > cbc > CbC_llvm
comparison test/CodeGen/SystemZ/int-const-03.ll @ 95:afa8332a0e37
LLVM 3.8
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2015 17:48:58 +0900 |
parents | 95c75e76d11b |
children |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
68 ; Check the high end of the MVI range. | 68 ; Check the high end of the MVI range. |
69 define void @f8(i8 *%src) { | 69 define void @f8(i8 *%src) { |
70 ; CHECK-LABEL: f8: | 70 ; CHECK-LABEL: f8: |
71 ; CHECK: mvi 4095(%r2), 42 | 71 ; CHECK: mvi 4095(%r2), 42 |
72 ; CHECK: br %r14 | 72 ; CHECK: br %r14 |
73 %ptr = getelementptr i8 *%src, i64 4095 | 73 %ptr = getelementptr i8, i8 *%src, i64 4095 |
74 store i8 42, i8 *%ptr | 74 store i8 42, i8 *%ptr |
75 ret void | 75 ret void |
76 } | 76 } |
77 | 77 |
78 ; Check the next byte up, which should use MVIY instead of MVI. | 78 ; Check the next byte up, which should use MVIY instead of MVI. |
79 define void @f9(i8 *%src) { | 79 define void @f9(i8 *%src) { |
80 ; CHECK-LABEL: f9: | 80 ; CHECK-LABEL: f9: |
81 ; CHECK: mviy 4096(%r2), 42 | 81 ; CHECK: mviy 4096(%r2), 42 |
82 ; CHECK: br %r14 | 82 ; CHECK: br %r14 |
83 %ptr = getelementptr i8 *%src, i64 4096 | 83 %ptr = getelementptr i8, i8 *%src, i64 4096 |
84 store i8 42, i8 *%ptr | 84 store i8 42, i8 *%ptr |
85 ret void | 85 ret void |
86 } | 86 } |
87 | 87 |
88 ; Check the high end of the MVIY range. | 88 ; Check the high end of the MVIY range. |
89 define void @f10(i8 *%src) { | 89 define void @f10(i8 *%src) { |
90 ; CHECK-LABEL: f10: | 90 ; CHECK-LABEL: f10: |
91 ; CHECK: mviy 524287(%r2), 42 | 91 ; CHECK: mviy 524287(%r2), 42 |
92 ; CHECK: br %r14 | 92 ; CHECK: br %r14 |
93 %ptr = getelementptr i8 *%src, i64 524287 | 93 %ptr = getelementptr i8, i8 *%src, i64 524287 |
94 store i8 42, i8 *%ptr | 94 store i8 42, i8 *%ptr |
95 ret void | 95 ret void |
96 } | 96 } |
97 | 97 |
98 ; Check the next byte up, which needs separate address logic. | 98 ; Check the next byte up, which needs separate address logic. |
100 define void @f11(i8 *%src) { | 100 define void @f11(i8 *%src) { |
101 ; CHECK-LABEL: f11: | 101 ; CHECK-LABEL: f11: |
102 ; CHECK: agfi %r2, 524288 | 102 ; CHECK: agfi %r2, 524288 |
103 ; CHECK: mvi 0(%r2), 42 | 103 ; CHECK: mvi 0(%r2), 42 |
104 ; CHECK: br %r14 | 104 ; CHECK: br %r14 |
105 %ptr = getelementptr i8 *%src, i64 524288 | 105 %ptr = getelementptr i8, i8 *%src, i64 524288 |
106 store i8 42, i8 *%ptr | 106 store i8 42, i8 *%ptr |
107 ret void | 107 ret void |
108 } | 108 } |
109 | 109 |
110 ; Check the high end of the negative MVIY range. | 110 ; Check the high end of the negative MVIY range. |
111 define void @f12(i8 *%src) { | 111 define void @f12(i8 *%src) { |
112 ; CHECK-LABEL: f12: | 112 ; CHECK-LABEL: f12: |
113 ; CHECK: mviy -1(%r2), 42 | 113 ; CHECK: mviy -1(%r2), 42 |
114 ; CHECK: br %r14 | 114 ; CHECK: br %r14 |
115 %ptr = getelementptr i8 *%src, i64 -1 | 115 %ptr = getelementptr i8, i8 *%src, i64 -1 |
116 store i8 42, i8 *%ptr | 116 store i8 42, i8 *%ptr |
117 ret void | 117 ret void |
118 } | 118 } |
119 | 119 |
120 ; Check the low end of the MVIY range. | 120 ; Check the low end of the MVIY range. |
121 define void @f13(i8 *%src) { | 121 define void @f13(i8 *%src) { |
122 ; CHECK-LABEL: f13: | 122 ; CHECK-LABEL: f13: |
123 ; CHECK: mviy -524288(%r2), 42 | 123 ; CHECK: mviy -524288(%r2), 42 |
124 ; CHECK: br %r14 | 124 ; CHECK: br %r14 |
125 %ptr = getelementptr i8 *%src, i64 -524288 | 125 %ptr = getelementptr i8, i8 *%src, i64 -524288 |
126 store i8 42, i8 *%ptr | 126 store i8 42, i8 *%ptr |
127 ret void | 127 ret void |
128 } | 128 } |
129 | 129 |
130 ; Check the next byte down, which needs separate address logic. | 130 ; Check the next byte down, which needs separate address logic. |
132 define void @f14(i8 *%src) { | 132 define void @f14(i8 *%src) { |
133 ; CHECK-LABEL: f14: | 133 ; CHECK-LABEL: f14: |
134 ; CHECK: agfi %r2, -524289 | 134 ; CHECK: agfi %r2, -524289 |
135 ; CHECK: mvi 0(%r2), 42 | 135 ; CHECK: mvi 0(%r2), 42 |
136 ; CHECK: br %r14 | 136 ; CHECK: br %r14 |
137 %ptr = getelementptr i8 *%src, i64 -524289 | 137 %ptr = getelementptr i8, i8 *%src, i64 -524289 |
138 store i8 42, i8 *%ptr | 138 store i8 42, i8 *%ptr |
139 ret void | 139 ret void |
140 } | 140 } |
141 | 141 |
142 ; Check that MVI does not allow an index. We prefer STC in that case. | 142 ; Check that MVI does not allow an index. We prefer STC in that case. |