xref: /aosp_15_r20/external/llvm/test/CodeGen/SystemZ/memset-03.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test memsets that clear 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 0, 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 0, 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), 0
30*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
31*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, 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), 0
39*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
40*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, 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), 0
48*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
49*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, 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), 0
57*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
58*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, 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), 0
66*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 2(%r2), 0
67*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
68*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, 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), 0
76*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 2(%r2), 0
77*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
78*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, 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), 0
86*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
87*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, 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), 0
95*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
96*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, 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), 0
104*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 4(%r2), 0
105*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
106*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, 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), 0
114*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 4(%r2), 0
115*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
116*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, 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), 0
124*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 4(%r2), 0
125*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
126*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, 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), 0
134*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 4(%r2), 0
135*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
136*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, 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: xc 0(7,%r2), 0(%r2)
144*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
145*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 7, i32 1, i1 false)
146*9880d681SAndroid Build Coastguard Worker  ret void
147*9880d681SAndroid Build Coastguard Worker}
148*9880d681SAndroid Build Coastguard Worker
149*9880d681SAndroid Build Coastguard Worker; 7 bytes, i64 version.
150*9880d681SAndroid Build Coastguard Workerdefine void @f16(i8 *%dest) {
151*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f16:
152*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(7,%r2), 0(%r2)
153*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
154*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 7, i32 1, i1 false)
155*9880d681SAndroid Build Coastguard Worker  ret void
156*9880d681SAndroid Build Coastguard Worker}
157*9880d681SAndroid Build Coastguard Worker
158*9880d681SAndroid Build Coastguard Worker; 8 bytes, i32 version.
159*9880d681SAndroid Build Coastguard Workerdefine void @f17(i8 *%dest) {
160*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f17:
161*9880d681SAndroid Build Coastguard Worker; CHECK: mvghi 0(%r2), 0
162*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
163*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 8, i32 1, i1 false)
164*9880d681SAndroid Build Coastguard Worker  ret void
165*9880d681SAndroid Build Coastguard Worker}
166*9880d681SAndroid Build Coastguard Worker
167*9880d681SAndroid Build Coastguard Worker; 8 bytes, i64 version.
168*9880d681SAndroid Build Coastguard Workerdefine void @f18(i8 *%dest) {
169*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f18:
170*9880d681SAndroid Build Coastguard Worker; CHECK: mvghi 0(%r2), 0
171*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
172*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 8, i32 1, i1 false)
173*9880d681SAndroid Build Coastguard Worker  ret void
174*9880d681SAndroid Build Coastguard Worker}
175*9880d681SAndroid Build Coastguard Worker
176*9880d681SAndroid Build Coastguard Worker; 9 bytes, i32 version.
177*9880d681SAndroid Build Coastguard Workerdefine void @f19(i8 *%dest) {
178*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f19:
179*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
180*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 8(%r2), 0
181*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
182*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 9, i32 1, i1 false)
183*9880d681SAndroid Build Coastguard Worker  ret void
184*9880d681SAndroid Build Coastguard Worker}
185*9880d681SAndroid Build Coastguard Worker
186*9880d681SAndroid Build Coastguard Worker; 9 bytes, i64 version.
187*9880d681SAndroid Build Coastguard Workerdefine void @f20(i8 *%dest) {
188*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f20:
189*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
190*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvi 8(%r2), 0
191*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
192*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 9, i32 1, i1 false)
193*9880d681SAndroid Build Coastguard Worker  ret void
194*9880d681SAndroid Build Coastguard Worker}
195*9880d681SAndroid Build Coastguard Worker
196*9880d681SAndroid Build Coastguard Worker; 10 bytes, i32 version.
197*9880d681SAndroid Build Coastguard Workerdefine void @f21(i8 *%dest) {
198*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f21:
199*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
200*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 8(%r2), 0
201*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
202*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 10, i32 1, i1 false)
203*9880d681SAndroid Build Coastguard Worker  ret void
204*9880d681SAndroid Build Coastguard Worker}
205*9880d681SAndroid Build Coastguard Worker
206*9880d681SAndroid Build Coastguard Worker; 10 bytes, i64 version.
207*9880d681SAndroid Build Coastguard Workerdefine void @f22(i8 *%dest) {
208*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f22:
209*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
210*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhhi 8(%r2), 0
211*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
212*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 10, i32 1, i1 false)
213*9880d681SAndroid Build Coastguard Worker  ret void
214*9880d681SAndroid Build Coastguard Worker}
215*9880d681SAndroid Build Coastguard Worker
216*9880d681SAndroid Build Coastguard Worker; 11 bytes, i32 version.
217*9880d681SAndroid Build Coastguard Workerdefine void @f23(i8 *%dest) {
218*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f23:
219*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(11,%r2), 0(%r2)
220*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
221*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 11, i32 1, i1 false)
222*9880d681SAndroid Build Coastguard Worker  ret void
223*9880d681SAndroid Build Coastguard Worker}
224*9880d681SAndroid Build Coastguard Worker
225*9880d681SAndroid Build Coastguard Worker; 11 bytes, i64 version.
226*9880d681SAndroid Build Coastguard Workerdefine void @f24(i8 *%dest) {
227*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f24:
228*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(11,%r2), 0(%r2)
229*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
230*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 11, i32 1, i1 false)
231*9880d681SAndroid Build Coastguard Worker  ret void
232*9880d681SAndroid Build Coastguard Worker}
233*9880d681SAndroid Build Coastguard Worker
234*9880d681SAndroid Build Coastguard Worker; 12 bytes, i32 version.
235*9880d681SAndroid Build Coastguard Workerdefine void @f25(i8 *%dest) {
236*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f25:
237*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
238*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 8(%r2), 0
239*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
240*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 12, i32 1, i1 false)
241*9880d681SAndroid Build Coastguard Worker  ret void
242*9880d681SAndroid Build Coastguard Worker}
243*9880d681SAndroid Build Coastguard Worker
244*9880d681SAndroid Build Coastguard Worker; 12 bytes, i64 version.
245*9880d681SAndroid Build Coastguard Workerdefine void @f26(i8 *%dest) {
246*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f26:
247*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
248*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvhi 8(%r2), 0
249*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
250*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 12, i32 1, i1 false)
251*9880d681SAndroid Build Coastguard Worker  ret void
252*9880d681SAndroid Build Coastguard Worker}
253*9880d681SAndroid Build Coastguard Worker
254*9880d681SAndroid Build Coastguard Worker; 13 bytes, i32 version.
255*9880d681SAndroid Build Coastguard Workerdefine void @f27(i8 *%dest) {
256*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f27:
257*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(13,%r2), 0(%r2)
258*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
259*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 13, i32 1, i1 false)
260*9880d681SAndroid Build Coastguard Worker  ret void
261*9880d681SAndroid Build Coastguard Worker}
262*9880d681SAndroid Build Coastguard Worker
263*9880d681SAndroid Build Coastguard Worker; 13 bytes, i64 version.
264*9880d681SAndroid Build Coastguard Workerdefine void @f28(i8 *%dest) {
265*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f28:
266*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(13,%r2), 0(%r2)
267*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
268*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 13, i32 1, i1 false)
269*9880d681SAndroid Build Coastguard Worker  ret void
270*9880d681SAndroid Build Coastguard Worker}
271*9880d681SAndroid Build Coastguard Worker
272*9880d681SAndroid Build Coastguard Worker; 14 bytes, i32 version.
273*9880d681SAndroid Build Coastguard Workerdefine void @f29(i8 *%dest) {
274*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f29:
275*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(14,%r2), 0(%r2)
276*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
277*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 14, i32 1, i1 false)
278*9880d681SAndroid Build Coastguard Worker  ret void
279*9880d681SAndroid Build Coastguard Worker}
280*9880d681SAndroid Build Coastguard Worker
281*9880d681SAndroid Build Coastguard Worker; 14 bytes, i64 version.
282*9880d681SAndroid Build Coastguard Workerdefine void @f30(i8 *%dest) {
283*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f30:
284*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(14,%r2), 0(%r2)
285*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
286*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 14, i32 1, i1 false)
287*9880d681SAndroid Build Coastguard Worker  ret void
288*9880d681SAndroid Build Coastguard Worker}
289*9880d681SAndroid Build Coastguard Worker
290*9880d681SAndroid Build Coastguard Worker; 15 bytes, i32 version.
291*9880d681SAndroid Build Coastguard Workerdefine void @f31(i8 *%dest) {
292*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f31:
293*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(15,%r2), 0(%r2)
294*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
295*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 15, i32 1, i1 false)
296*9880d681SAndroid Build Coastguard Worker  ret void
297*9880d681SAndroid Build Coastguard Worker}
298*9880d681SAndroid Build Coastguard Worker
299*9880d681SAndroid Build Coastguard Worker; 15 bytes, i64 version.
300*9880d681SAndroid Build Coastguard Workerdefine void @f32(i8 *%dest) {
301*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f32:
302*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(15,%r2), 0(%r2)
303*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
304*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 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; 16 bytes, i32 version.
309*9880d681SAndroid Build Coastguard Workerdefine void @f33(i8 *%dest) {
310*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f33:
311*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
312*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 8(%r2), 0
313*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
314*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 16, 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, i64 version.
319*9880d681SAndroid Build Coastguard Workerdefine void @f34(i8 *%dest) {
320*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f34:
321*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 0(%r2), 0
322*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: mvghi 8(%r2), 0
323*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
324*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 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; 17 bytes, i32 version.
329*9880d681SAndroid Build Coastguard Workerdefine void @f35(i8 *%dest) {
330*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f35:
331*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(17,%r2), 0(%r2)
332*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
333*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 17, i32 1, i1 false)
334*9880d681SAndroid Build Coastguard Worker  ret void
335*9880d681SAndroid Build Coastguard Worker}
336*9880d681SAndroid Build Coastguard Worker
337*9880d681SAndroid Build Coastguard Worker; 17 bytes, i64 version.
338*9880d681SAndroid Build Coastguard Workerdefine void @f36(i8 *%dest) {
339*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f36:
340*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(17,%r2), 0(%r2)
341*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
342*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 17, i32 1, i1 false)
343*9880d681SAndroid Build Coastguard Worker  ret void
344*9880d681SAndroid Build Coastguard Worker}
345*9880d681SAndroid Build Coastguard Worker
346*9880d681SAndroid Build Coastguard Worker; 256 bytes, i32 version.
347*9880d681SAndroid Build Coastguard Workerdefine void @f37(i8 *%dest) {
348*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f37:
349*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(256,%r2), 0(%r2)
350*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
351*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 256, i32 1, i1 false)
352*9880d681SAndroid Build Coastguard Worker  ret void
353*9880d681SAndroid Build Coastguard Worker}
354*9880d681SAndroid Build Coastguard Worker
355*9880d681SAndroid Build Coastguard Worker; 256 bytes, i64 version.
356*9880d681SAndroid Build Coastguard Workerdefine void @f38(i8 *%dest) {
357*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f38:
358*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(256,%r2), 0(%r2)
359*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
360*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 256, i32 1, i1 false)
361*9880d681SAndroid Build Coastguard Worker  ret void
362*9880d681SAndroid Build Coastguard Worker}
363*9880d681SAndroid Build Coastguard Worker
364*9880d681SAndroid Build Coastguard Worker; 257 bytes, i32 version.  We need two MVCs.
365*9880d681SAndroid Build Coastguard Workerdefine void @f39(i8 *%dest) {
366*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f39:
367*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(256,%r2), 0(%r2)
368*9880d681SAndroid Build Coastguard Worker; CHECK: xc 256(1,%r2), 256(%r2)
369*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
370*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8 *%dest, i8 0, i32 257, i32 1, i1 false)
371*9880d681SAndroid Build Coastguard Worker  ret void
372*9880d681SAndroid Build Coastguard Worker}
373*9880d681SAndroid Build Coastguard Worker
374*9880d681SAndroid Build Coastguard Worker; 257 bytes, i64 version.
375*9880d681SAndroid Build Coastguard Workerdefine void @f40(i8 *%dest) {
376*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f40:
377*9880d681SAndroid Build Coastguard Worker; CHECK: xc 0(256,%r2), 0(%r2)
378*9880d681SAndroid Build Coastguard Worker; CHECK: xc 256(1,%r2), 256(%r2)
379*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14
380*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i64(i8 *%dest, i8 0, i64 257, i32 1, i1 false)
381*9880d681SAndroid Build Coastguard Worker  ret void
382*9880d681SAndroid Build Coastguard Worker}
383