xref: /aosp_15_r20/external/llvm/test/CodeGen/SystemZ/memset-04.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test memsets that set all bits.
2*9880d681SAndroid Build Coastguard Worker;
3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memset.p0i8.i32(i8 *nocapture, i8, i32, i32, i1) nounwind
6*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memset.p0i8.i64(i8 *nocapture, i8, i64, i32, i1) nounwind
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker; No bytes, i32 version.
9*9880d681SAndroid Build Coastguard Workerdefine void @f1(i8 *%dest) {
10*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f1:
11*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: %r2
12*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
13*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 0, i32 1, i1 false)
14*9880d681SAndroid Build Coastguard Worker  ret void
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker; No bytes, i64 version.
18*9880d681SAndroid Build Coastguard Workerdefine void @f2(i8 *%dest) {
19*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f2:
20*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: %r2
21*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
22*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 0, i32 1, i1 false)
23*9880d681SAndroid Build Coastguard Worker  ret void
24*9880d681SAndroid Build Coastguard Worker}
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker; 1 byte, i32 version.
27*9880d681SAndroid Build Coastguard Workerdefine void @f3(i8 *%dest) {
28*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f3:
29*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
30*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
31*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 1, i32 1, i1 false)
32*9880d681SAndroid Build Coastguard Worker  ret void
33*9880d681SAndroid Build Coastguard Worker}
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker; 1 byte, i64 version.
36*9880d681SAndroid Build Coastguard Workerdefine void @f4(i8 *%dest) {
37*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f4:
38*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
39*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
40*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 1, i32 1, i1 false)
41*9880d681SAndroid Build Coastguard Worker  ret void
42*9880d681SAndroid Build Coastguard Worker}
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker; 2 bytes, i32 version.
45*9880d681SAndroid Build Coastguard Workerdefine void @f5(i8 *%dest) {
46*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f5:
47*9880d681SAndroid Build Coastguard Worker; CHECK: mvhhi 0(%r2), -1
48*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
49*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 2, i32 1, i1 false)
50*9880d681SAndroid Build Coastguard Worker  ret void
51*9880d681SAndroid Build Coastguard Worker}
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker; 2 bytes, i64 version.
54*9880d681SAndroid Build Coastguard Workerdefine void @f6(i8 *%dest) {
55*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f6:
56*9880d681SAndroid Build Coastguard Worker; CHECK: mvhhi 0(%r2), -1
57*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
58*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 2, i32 1, i1 false)
59*9880d681SAndroid Build Coastguard Worker  ret void
60*9880d681SAndroid Build Coastguard Worker}
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Worker; 3 bytes, i32 version.
63*9880d681SAndroid Build Coastguard Workerdefine void @f7(i8 *%dest) {
64*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f7:
65*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 0(%r2), -1
66*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 2(%r2), 255
67*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
68*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 3, i32 1, i1 false)
69*9880d681SAndroid Build Coastguard Worker  ret void
70*9880d681SAndroid Build Coastguard Worker}
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Worker; 3 bytes, i64 version.
73*9880d681SAndroid Build Coastguard Workerdefine void @f8(i8 *%dest) {
74*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f8:
75*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 0(%r2), -1
76*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 2(%r2), 255
77*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
78*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 3, i32 1, i1 false)
79*9880d681SAndroid Build Coastguard Worker  ret void
80*9880d681SAndroid Build Coastguard Worker}
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard Worker; 4 bytes, i32 version.
83*9880d681SAndroid Build Coastguard Workerdefine void @f9(i8 *%dest) {
84*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f9:
85*9880d681SAndroid Build Coastguard Worker; CHECK: mvhi 0(%r2), -1
86*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
87*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 4, i32 1, i1 false)
88*9880d681SAndroid Build Coastguard Worker  ret void
89*9880d681SAndroid Build Coastguard Worker}
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Worker; 4 bytes, i64 version.
92*9880d681SAndroid Build Coastguard Workerdefine void @f10(i8 *%dest) {
93*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f10:
94*9880d681SAndroid Build Coastguard Worker; CHECK: mvhi 0(%r2), -1
95*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
96*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 4, i32 1, i1 false)
97*9880d681SAndroid Build Coastguard Worker  ret void
98*9880d681SAndroid Build Coastguard Worker}
99*9880d681SAndroid Build Coastguard Worker
100*9880d681SAndroid Build Coastguard Worker; 5 bytes, i32 version.
101*9880d681SAndroid Build Coastguard Workerdefine void @f11(i8 *%dest) {
102*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f11:
103*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 0(%r2), -1
104*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 4(%r2), 255
105*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
106*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 5, i32 1, i1 false)
107*9880d681SAndroid Build Coastguard Worker  ret void
108*9880d681SAndroid Build Coastguard Worker}
109*9880d681SAndroid Build Coastguard Worker
110*9880d681SAndroid Build Coastguard Worker; 5 bytes, i64 version.
111*9880d681SAndroid Build Coastguard Workerdefine void @f12(i8 *%dest) {
112*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f12:
113*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 0(%r2), -1
114*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 4(%r2), 255
115*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
116*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 5, i32 1, i1 false)
117*9880d681SAndroid Build Coastguard Worker  ret void
118*9880d681SAndroid Build Coastguard Worker}
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Worker; 6 bytes, i32 version.
121*9880d681SAndroid Build Coastguard Workerdefine void @f13(i8 *%dest) {
122*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f13:
123*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 0(%r2), -1
124*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 4(%r2), -1
125*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
126*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 6, i32 1, i1 false)
127*9880d681SAndroid Build Coastguard Worker  ret void
128*9880d681SAndroid Build Coastguard Worker}
129*9880d681SAndroid Build Coastguard Worker
130*9880d681SAndroid Build Coastguard Worker; 6 bytes, i64 version.
131*9880d681SAndroid Build Coastguard Workerdefine void @f14(i8 *%dest) {
132*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f14:
133*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 0(%r2), -1
134*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 4(%r2), -1
135*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
136*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 6, i32 1, i1 false)
137*9880d681SAndroid Build Coastguard Worker  ret void
138*9880d681SAndroid Build Coastguard Worker}
139*9880d681SAndroid Build Coastguard Worker
140*9880d681SAndroid Build Coastguard Worker; 7 bytes, i32 version.
141*9880d681SAndroid Build Coastguard Workerdefine void @f15(i8 *%dest) {
142*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f15:
143*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
144*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(6,%r2), 0(%r2)
145*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
146*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 7, i32 1, i1 false)
147*9880d681SAndroid Build Coastguard Worker  ret void
148*9880d681SAndroid Build Coastguard Worker}
149*9880d681SAndroid Build Coastguard Worker
150*9880d681SAndroid Build Coastguard Worker; 7 bytes, i64 version.
151*9880d681SAndroid Build Coastguard Workerdefine void @f16(i8 *%dest) {
152*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f16:
153*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
154*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(6,%r2), 0(%r2)
155*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
156*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 7, i32 1, i1 false)
157*9880d681SAndroid Build Coastguard Worker  ret void
158*9880d681SAndroid Build Coastguard Worker}
159*9880d681SAndroid Build Coastguard Worker
160*9880d681SAndroid Build Coastguard Worker; 8 bytes, i32 version.
161*9880d681SAndroid Build Coastguard Workerdefine void @f17(i8 *%dest) {
162*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f17:
163*9880d681SAndroid Build Coastguard Worker; CHECK: mvghi 0(%r2), -1
164*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
165*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 8, i32 1, i1 false)
166*9880d681SAndroid Build Coastguard Worker  ret void
167*9880d681SAndroid Build Coastguard Worker}
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Worker; 8 bytes, i64 version.
170*9880d681SAndroid Build Coastguard Workerdefine void @f18(i8 *%dest) {
171*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f18:
172*9880d681SAndroid Build Coastguard Worker; CHECK: mvghi 0(%r2), -1
173*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
174*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 8, i32 1, i1 false)
175*9880d681SAndroid Build Coastguard Worker  ret void
176*9880d681SAndroid Build Coastguard Worker}
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Worker; 9 bytes, i32 version.
179*9880d681SAndroid Build Coastguard Workerdefine void @f19(i8 *%dest) {
180*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f19:
181*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
182*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 8(%r2), 255
183*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
184*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 9, i32 1, i1 false)
185*9880d681SAndroid Build Coastguard Worker  ret void
186*9880d681SAndroid Build Coastguard Worker}
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Worker; 9 bytes, i64 version.
189*9880d681SAndroid Build Coastguard Workerdefine void @f20(i8 *%dest) {
190*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f20:
191*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
192*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 8(%r2), 255
193*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
194*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 9, i32 1, i1 false)
195*9880d681SAndroid Build Coastguard Worker  ret void
196*9880d681SAndroid Build Coastguard Worker}
197*9880d681SAndroid Build Coastguard Worker
198*9880d681SAndroid Build Coastguard Worker; 10 bytes, i32 version.
199*9880d681SAndroid Build Coastguard Workerdefine void @f21(i8 *%dest) {
200*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f21:
201*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
202*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 8(%r2), -1
203*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
204*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 10, i32 1, i1 false)
205*9880d681SAndroid Build Coastguard Worker  ret void
206*9880d681SAndroid Build Coastguard Worker}
207*9880d681SAndroid Build Coastguard Worker
208*9880d681SAndroid Build Coastguard Worker; 10 bytes, i64 version.
209*9880d681SAndroid Build Coastguard Workerdefine void @f22(i8 *%dest) {
210*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f22:
211*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
212*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 8(%r2), -1
213*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
214*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 10, i32 1, i1 false)
215*9880d681SAndroid Build Coastguard Worker  ret void
216*9880d681SAndroid Build Coastguard Worker}
217*9880d681SAndroid Build Coastguard Worker
218*9880d681SAndroid Build Coastguard Worker; 11 bytes, i32 version.
219*9880d681SAndroid Build Coastguard Workerdefine void @f23(i8 *%dest) {
220*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f23:
221*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
222*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(10,%r2), 0(%r2)
223*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
224*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 11, i32 1, i1 false)
225*9880d681SAndroid Build Coastguard Worker  ret void
226*9880d681SAndroid Build Coastguard Worker}
227*9880d681SAndroid Build Coastguard Worker
228*9880d681SAndroid Build Coastguard Worker; 11 bytes, i64 version.
229*9880d681SAndroid Build Coastguard Workerdefine void @f24(i8 *%dest) {
230*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f24:
231*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
232*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(10,%r2), 0(%r2)
233*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
234*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 11, i32 1, i1 false)
235*9880d681SAndroid Build Coastguard Worker  ret void
236*9880d681SAndroid Build Coastguard Worker}
237*9880d681SAndroid Build Coastguard Worker
238*9880d681SAndroid Build Coastguard Worker; 12 bytes, i32 version.
239*9880d681SAndroid Build Coastguard Workerdefine void @f25(i8 *%dest) {
240*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f25:
241*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
242*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 8(%r2), -1
243*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
244*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 12, i32 1, i1 false)
245*9880d681SAndroid Build Coastguard Worker  ret void
246*9880d681SAndroid Build Coastguard Worker}
247*9880d681SAndroid Build Coastguard Worker
248*9880d681SAndroid Build Coastguard Worker; 12 bytes, i64 version.
249*9880d681SAndroid Build Coastguard Workerdefine void @f26(i8 *%dest) {
250*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f26:
251*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
252*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 8(%r2), -1
253*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
254*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 12, i32 1, i1 false)
255*9880d681SAndroid Build Coastguard Worker  ret void
256*9880d681SAndroid Build Coastguard Worker}
257*9880d681SAndroid Build Coastguard Worker
258*9880d681SAndroid Build Coastguard Worker; 13 bytes, i32 version.
259*9880d681SAndroid Build Coastguard Workerdefine void @f27(i8 *%dest) {
260*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f27:
261*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
262*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(12,%r2), 0(%r2)
263*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
264*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 13, i32 1, i1 false)
265*9880d681SAndroid Build Coastguard Worker  ret void
266*9880d681SAndroid Build Coastguard Worker}
267*9880d681SAndroid Build Coastguard Worker
268*9880d681SAndroid Build Coastguard Worker; 13 bytes, i64 version.
269*9880d681SAndroid Build Coastguard Workerdefine void @f28(i8 *%dest) {
270*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f28:
271*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
272*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(12,%r2), 0(%r2)
273*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
274*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 13, i32 1, i1 false)
275*9880d681SAndroid Build Coastguard Worker  ret void
276*9880d681SAndroid Build Coastguard Worker}
277*9880d681SAndroid Build Coastguard Worker
278*9880d681SAndroid Build Coastguard Worker; 14 bytes, i32 version.
279*9880d681SAndroid Build Coastguard Workerdefine void @f29(i8 *%dest) {
280*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f29:
281*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
282*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(13,%r2), 0(%r2)
283*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
284*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 14, i32 1, i1 false)
285*9880d681SAndroid Build Coastguard Worker  ret void
286*9880d681SAndroid Build Coastguard Worker}
287*9880d681SAndroid Build Coastguard Worker
288*9880d681SAndroid Build Coastguard Worker; 14 bytes, i64 version.
289*9880d681SAndroid Build Coastguard Workerdefine void @f30(i8 *%dest) {
290*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f30:
291*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
292*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(13,%r2), 0(%r2)
293*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
294*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 14, i32 1, i1 false)
295*9880d681SAndroid Build Coastguard Worker  ret void
296*9880d681SAndroid Build Coastguard Worker}
297*9880d681SAndroid Build Coastguard Worker
298*9880d681SAndroid Build Coastguard Worker; 15 bytes, i32 version.
299*9880d681SAndroid Build Coastguard Workerdefine void @f31(i8 *%dest) {
300*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f31:
301*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
302*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(14,%r2), 0(%r2)
303*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
304*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 15, i32 1, i1 false)
305*9880d681SAndroid Build Coastguard Worker  ret void
306*9880d681SAndroid Build Coastguard Worker}
307*9880d681SAndroid Build Coastguard Worker
308*9880d681SAndroid Build Coastguard Worker; 15 bytes, i64 version.
309*9880d681SAndroid Build Coastguard Workerdefine void @f32(i8 *%dest) {
310*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f32:
311*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
312*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(14,%r2), 0(%r2)
313*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
314*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 15, i32 1, i1 false)
315*9880d681SAndroid Build Coastguard Worker  ret void
316*9880d681SAndroid Build Coastguard Worker}
317*9880d681SAndroid Build Coastguard Worker
318*9880d681SAndroid Build Coastguard Worker; 16 bytes, i32 version.
319*9880d681SAndroid Build Coastguard Workerdefine void @f33(i8 *%dest) {
320*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f33:
321*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
322*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 8(%r2), -1
323*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
324*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 16, i32 1, i1 false)
325*9880d681SAndroid Build Coastguard Worker  ret void
326*9880d681SAndroid Build Coastguard Worker}
327*9880d681SAndroid Build Coastguard Worker
328*9880d681SAndroid Build Coastguard Worker; 16 bytes, i64 version.
329*9880d681SAndroid Build Coastguard Workerdefine void @f34(i8 *%dest) {
330*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f34:
331*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), -1
332*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 8(%r2), -1
333*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
334*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 16, i32 1, i1 false)
335*9880d681SAndroid Build Coastguard Worker  ret void
336*9880d681SAndroid Build Coastguard Worker}
337*9880d681SAndroid Build Coastguard Worker
338*9880d681SAndroid Build Coastguard Worker; 17 bytes, i32 version.
339*9880d681SAndroid Build Coastguard Workerdefine void @f35(i8 *%dest) {
340*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f35:
341*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
342*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(16,%r2), 0(%r2)
343*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
344*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 17, i32 1, i1 false)
345*9880d681SAndroid Build Coastguard Worker  ret void
346*9880d681SAndroid Build Coastguard Worker}
347*9880d681SAndroid Build Coastguard Worker
348*9880d681SAndroid Build Coastguard Worker; 17 bytes, i64 version.
349*9880d681SAndroid Build Coastguard Workerdefine void @f36(i8 *%dest) {
350*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f36:
351*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
352*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(16,%r2), 0(%r2)
353*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
354*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 17, i32 1, i1 false)
355*9880d681SAndroid Build Coastguard Worker  ret void
356*9880d681SAndroid Build Coastguard Worker}
357*9880d681SAndroid Build Coastguard Worker
358*9880d681SAndroid Build Coastguard Worker; 257 bytes, i32 version.
359*9880d681SAndroid Build Coastguard Workerdefine void @f37(i8 *%dest) {
360*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f37:
361*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
362*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(256,%r2), 0(%r2)
363*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
364*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 257, i32 1, i1 false)
365*9880d681SAndroid Build Coastguard Worker  ret void
366*9880d681SAndroid Build Coastguard Worker}
367*9880d681SAndroid Build Coastguard Worker
368*9880d681SAndroid Build Coastguard Worker; 257 bytes, i64 version.
369*9880d681SAndroid Build Coastguard Workerdefine void @f38(i8 *%dest) {
370*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f38:
371*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
372*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(256,%r2), 0(%r2)
373*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
374*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 257, i32 1, i1 false)
375*9880d681SAndroid Build Coastguard Worker  ret void
376*9880d681SAndroid Build Coastguard Worker}
377*9880d681SAndroid Build Coastguard Worker
378*9880d681SAndroid Build Coastguard Worker; 258 bytes, i32 version.  We need two MVCs.
379*9880d681SAndroid Build Coastguard Workerdefine void @f39(i8 *%dest) {
380*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f39:
381*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
382*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(256,%r2), 0(%r2)
383*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 257(1,%r2), 256(%r2)
384*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
385*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 -1, i32 258, i32 1, i1 false)
386*9880d681SAndroid Build Coastguard Worker  ret void
387*9880d681SAndroid Build Coastguard Worker}
388*9880d681SAndroid Build Coastguard Worker
389*9880d681SAndroid Build Coastguard Worker; 258 bytes, i64 version.
390*9880d681SAndroid Build Coastguard Workerdefine void @f40(i8 *%dest) {
391*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f40:
392*9880d681SAndroid Build Coastguard Worker; CHECK: mvi 0(%r2), 255
393*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 1(256,%r2), 0(%r2)
394*9880d681SAndroid Build Coastguard Worker; CHECK: mvc 257(1,%r2), 256(%r2)
395*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
396*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 -1, i64 258, i32 1, i1 false)
397*9880d681SAndroid Build Coastguard Worker  ret void
398*9880d681SAndroid Build Coastguard Worker}
399