xref: /llvm-project/llvm/test/CodeGen/PowerPC/memset-tail.ll (revision b922a3621116b404d868af8b74cab25ab78555be)
1e6d925bcSTing Wang; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2e6d925bcSTing Wang; RUN: llc -verify-machineinstrs -mcpu=pwr8 \
3e6d925bcSTing Wang; RUN:   -mtriple=powerpc64-unknown-aix < %s | FileCheck %s --check-prefix=P8-BE
4e6d925bcSTing Wang; RUN: llc -verify-machineinstrs -mcpu=pwr9 \
5e6d925bcSTing Wang; RUN:   -mtriple=powerpc64-unknown-aix < %s | FileCheck %s --check-prefix=P9-BE
6e6d925bcSTing Wang; RUN: llc -verify-machineinstrs -mcpu=pwr10 \
7e6d925bcSTing Wang; RUN:   -mtriple=powerpc64-unknown-aix < %s | FileCheck %s --check-prefix=P10-BE
8e6d925bcSTing Wang; RUN: llc -verify-machineinstrs -mcpu=pwr8 \
9e6d925bcSTing Wang; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s --check-prefix=P8-LE
10e6d925bcSTing Wang; RUN: llc -verify-machineinstrs -mcpu=pwr9 \
11e6d925bcSTing Wang; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s --check-prefix=P9-LE
12e6d925bcSTing Wang; RUN: llc -verify-machineinstrs -mcpu=pwr10 \
13e6d925bcSTing Wang; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s --check-prefix=P10-LE
14e6d925bcSTing Wang
15e6d925bcSTing Wangdefine dso_local void @memsetTailV1B15(ptr nocapture noundef writeonly %p) local_unnamed_addr {
16e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B15:
17e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
18e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
19e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 15
20e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 3, 4
21e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
22e6d925bcSTing Wang; P8-BE-NEXT:    blr
23e6d925bcSTing Wang;
24e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B15:
25e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
26e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
27e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 15
28e6d925bcSTing Wang; P9-BE-NEXT:    stxvx 0, 3, 4
29e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
30e6d925bcSTing Wang; P9-BE-NEXT:    blr
31e6d925bcSTing Wang;
32e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B15:
33e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
34e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
35e6d925bcSTing Wang; P10-BE-NEXT:    pstxv 0, 15(3), 0
36e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
37e6d925bcSTing Wang; P10-BE-NEXT:    blr
38e6d925bcSTing Wang;
39e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B15:
40e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
41e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
42e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 15
43e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 3, 4
44e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
45e6d925bcSTing Wang; P8-LE-NEXT:    blr
46e6d925bcSTing Wang;
47e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B15:
48e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
49e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
50e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 15
51e6d925bcSTing Wang; P9-LE-NEXT:    stxvx 0, 3, 4
52e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
53e6d925bcSTing Wang; P9-LE-NEXT:    blr
54e6d925bcSTing Wang;
55e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B15:
56e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
57e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
58e6d925bcSTing Wang; P10-LE-NEXT:    pstxv 0, 15(3), 0
59e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
60e6d925bcSTing Wang; P10-LE-NEXT:    blr
61e6d925bcSTing Wangentry:
62e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 31, i1 false)
63e6d925bcSTing Wang  ret void
64e6d925bcSTing Wang}
65e6d925bcSTing Wang
66e6d925bcSTing Wangdefine dso_local void @memsetTailV1B12(ptr nocapture noundef writeonly %p) local_unnamed_addr {
67e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B12:
68e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
69e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
70e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 12
71e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 3, 4
72e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
73e6d925bcSTing Wang; P8-BE-NEXT:    blr
74e6d925bcSTing Wang;
75e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B12:
76e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
77e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
78e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 12
79e6d925bcSTing Wang; P9-BE-NEXT:    stxvx 0, 3, 4
80e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
81e6d925bcSTing Wang; P9-BE-NEXT:    blr
82e6d925bcSTing Wang;
83e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B12:
84e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
85e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
86e6d925bcSTing Wang; P10-BE-NEXT:    pstxv 0, 12(3), 0
87e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
88e6d925bcSTing Wang; P10-BE-NEXT:    blr
89e6d925bcSTing Wang;
90e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B12:
91e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
92e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
93e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 12
94e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 3, 4
95e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
96e6d925bcSTing Wang; P8-LE-NEXT:    blr
97e6d925bcSTing Wang;
98e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B12:
99e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
100e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
101e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 12
102e6d925bcSTing Wang; P9-LE-NEXT:    stxvx 0, 3, 4
103e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
104e6d925bcSTing Wang; P9-LE-NEXT:    blr
105e6d925bcSTing Wang;
106e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B12:
107e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
108e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
109e6d925bcSTing Wang; P10-LE-NEXT:    pstxv 0, 12(3), 0
110e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
111e6d925bcSTing Wang; P10-LE-NEXT:    blr
112e6d925bcSTing Wangentry:
113e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 28, i1 false)
114e6d925bcSTing Wang  ret void
115e6d925bcSTing Wang}
116e6d925bcSTing Wang
117e6d925bcSTing Wangdefine dso_local void @memsetTailV1B9(ptr nocapture noundef writeonly %p) local_unnamed_addr {
118e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B9:
119e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
120e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
121e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 9
122e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 3, 4
123e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
124e6d925bcSTing Wang; P8-BE-NEXT:    blr
125e6d925bcSTing Wang;
126e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B9:
127e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
128e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
129e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 9
130e6d925bcSTing Wang; P9-BE-NEXT:    stxvx 0, 3, 4
131e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
132e6d925bcSTing Wang; P9-BE-NEXT:    blr
133e6d925bcSTing Wang;
134e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B9:
135e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
136e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
137e6d925bcSTing Wang; P10-BE-NEXT:    pstxv 0, 9(3), 0
138e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
139e6d925bcSTing Wang; P10-BE-NEXT:    blr
140e6d925bcSTing Wang;
141e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B9:
142e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
143e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
144e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 9
145e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 3, 4
146e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
147e6d925bcSTing Wang; P8-LE-NEXT:    blr
148e6d925bcSTing Wang;
149e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B9:
150e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
151e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
152e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 9
153e6d925bcSTing Wang; P9-LE-NEXT:    stxvx 0, 3, 4
154e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
155e6d925bcSTing Wang; P9-LE-NEXT:    blr
156e6d925bcSTing Wang;
157e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B9:
158e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
159e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
160e6d925bcSTing Wang; P10-LE-NEXT:    pstxv 0, 9(3), 0
161e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
162e6d925bcSTing Wang; P10-LE-NEXT:    blr
163e6d925bcSTing Wangentry:
164e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 25, i1 false)
165e6d925bcSTing Wang  ret void
166e6d925bcSTing Wang}
167e6d925bcSTing Wang
168e6d925bcSTing Wangdefine dso_local void @memsetTailV1B8(ptr nocapture noundef writeonly %p) local_unnamed_addr {
169e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B8:
170e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
171e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
17271be020dSTing Wang; P8-BE-NEXT:    li 4, 16
17371be020dSTing Wang; P8-BE-NEXT:    stxsdx 34, 3, 4
174e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
175e6d925bcSTing Wang; P8-BE-NEXT:    blr
176e6d925bcSTing Wang;
177e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B8:
178e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
179e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
180e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
18171be020dSTing Wang; P9-BE-NEXT:    stfd 0, 16(3)
182e6d925bcSTing Wang; P9-BE-NEXT:    blr
183e6d925bcSTing Wang;
184e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B8:
185e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
186e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
187e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
18871be020dSTing Wang; P10-BE-NEXT:    stfd 0, 16(3)
189e6d925bcSTing Wang; P10-BE-NEXT:    blr
190e6d925bcSTing Wang;
191e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B8:
192e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
193e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
19471be020dSTing Wang; P8-LE-NEXT:    li 4, 16
19571be020dSTing Wang; P8-LE-NEXT:    stxsdx 34, 3, 4
196e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
197e6d925bcSTing Wang; P8-LE-NEXT:    blr
198e6d925bcSTing Wang;
199e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B8:
200e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
201e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
202e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
20371be020dSTing Wang; P9-LE-NEXT:    stfd 0, 16(3)
204e6d925bcSTing Wang; P9-LE-NEXT:    blr
205e6d925bcSTing Wang;
206e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B8:
207e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
208e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
209e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
21071be020dSTing Wang; P10-LE-NEXT:    stfd 0, 16(3)
211e6d925bcSTing Wang; P10-LE-NEXT:    blr
212e6d925bcSTing Wangentry:
213e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 24, i1 false)
214e6d925bcSTing Wang  ret void
215e6d925bcSTing Wang}
216e6d925bcSTing Wang
217e6d925bcSTing Wangdefine dso_local void @memsetTailV1B7(ptr nocapture noundef writeonly %p) local_unnamed_addr {
218e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B7:
219e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
220e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
22171be020dSTing Wang; P8-BE-NEXT:    li 4, 15
22271be020dSTing Wang; P8-BE-NEXT:    stxsdx 34, 3, 4
223e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
224e6d925bcSTing Wang; P8-BE-NEXT:    blr
225e6d925bcSTing Wang;
226e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B7:
227e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
228e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
22971be020dSTing Wang; P9-BE-NEXT:    stfd 0, 15(3)
230e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
231e6d925bcSTing Wang; P9-BE-NEXT:    blr
232e6d925bcSTing Wang;
233e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B7:
234e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
235e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
23671be020dSTing Wang; P10-BE-NEXT:    stfd 0, 15(3)
237e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
238e6d925bcSTing Wang; P10-BE-NEXT:    blr
239e6d925bcSTing Wang;
240e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B7:
241e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
242e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
24371be020dSTing Wang; P8-LE-NEXT:    li 4, 15
24471be020dSTing Wang; P8-LE-NEXT:    stxsdx 34, 3, 4
245e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
246e6d925bcSTing Wang; P8-LE-NEXT:    blr
247e6d925bcSTing Wang;
248e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B7:
249e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
250e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
25171be020dSTing Wang; P9-LE-NEXT:    stfd 0, 15(3)
252e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
253e6d925bcSTing Wang; P9-LE-NEXT:    blr
254e6d925bcSTing Wang;
255e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B7:
256e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
257e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
25871be020dSTing Wang; P10-LE-NEXT:    stfd 0, 15(3)
259e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
260e6d925bcSTing Wang; P10-LE-NEXT:    blr
261e6d925bcSTing Wangentry:
262e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 23, i1 false)
263e6d925bcSTing Wang  ret void
264e6d925bcSTing Wang}
265e6d925bcSTing Wang
266e6d925bcSTing Wangdefine dso_local void @memsetTailV1B4(ptr nocapture noundef writeonly %p) local_unnamed_addr {
267e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B4:
268e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
269e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
27071be020dSTing Wang; P8-BE-NEXT:    li 4, 16
27171be020dSTing Wang; P8-BE-NEXT:    stxsiwx 34, 3, 4
272e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
273e6d925bcSTing Wang; P8-BE-NEXT:    blr
274e6d925bcSTing Wang;
275e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B4:
276e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
277e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
27871be020dSTing Wang; P9-BE-NEXT:    li 4, 16
27971be020dSTing Wang; P9-BE-NEXT:    stfiwx 0, 3, 4
280e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
281e6d925bcSTing Wang; P9-BE-NEXT:    blr
282e6d925bcSTing Wang;
283e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B4:
284e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
285e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
28671be020dSTing Wang; P10-BE-NEXT:    li 4, 16
28771be020dSTing Wang; P10-BE-NEXT:    stfiwx 0, 3, 4
288e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
289e6d925bcSTing Wang; P10-BE-NEXT:    blr
290e6d925bcSTing Wang;
291e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B4:
292e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
293e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
29471be020dSTing Wang; P8-LE-NEXT:    li 4, 16
29571be020dSTing Wang; P8-LE-NEXT:    stxsiwx 34, 3, 4
296e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
297e6d925bcSTing Wang; P8-LE-NEXT:    blr
298e6d925bcSTing Wang;
299e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B4:
300e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
301e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
30271be020dSTing Wang; P9-LE-NEXT:    li 4, 16
30371be020dSTing Wang; P9-LE-NEXT:    stfiwx 0, 3, 4
304e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
305e6d925bcSTing Wang; P9-LE-NEXT:    blr
306e6d925bcSTing Wang;
307e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B4:
308e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
309e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
31071be020dSTing Wang; P10-LE-NEXT:    li 4, 16
31171be020dSTing Wang; P10-LE-NEXT:    stfiwx 0, 3, 4
312e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
313e6d925bcSTing Wang; P10-LE-NEXT:    blr
314e6d925bcSTing Wangentry:
315e6d925bcSTing Wang  tail call void @llvm.memset.p0.i32(ptr %p, i8 15, i32 20, i1 false)
316e6d925bcSTing Wang  ret void
317e6d925bcSTing Wang}
318e6d925bcSTing Wang
319e6d925bcSTing Wangdefine dso_local void @memsetTailV1B3(ptr nocapture noundef writeonly %p) local_unnamed_addr {
320e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B3:
321e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
322e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
32371be020dSTing Wang; P8-BE-NEXT:    li 4, 15
32471be020dSTing Wang; P8-BE-NEXT:    stxsiwx 34, 3, 4
325e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
326e6d925bcSTing Wang; P8-BE-NEXT:    blr
327e6d925bcSTing Wang;
328e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B3:
329e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
330e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
33171be020dSTing Wang; P9-BE-NEXT:    li 4, 15
33271be020dSTing Wang; P9-BE-NEXT:    stfiwx 0, 3, 4
333e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
334e6d925bcSTing Wang; P9-BE-NEXT:    blr
335e6d925bcSTing Wang;
336e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B3:
337e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
338e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
33971be020dSTing Wang; P10-BE-NEXT:    li 4, 15
34071be020dSTing Wang; P10-BE-NEXT:    stfiwx 0, 3, 4
341e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
342e6d925bcSTing Wang; P10-BE-NEXT:    blr
343e6d925bcSTing Wang;
344e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B3:
345e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
346e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
34771be020dSTing Wang; P8-LE-NEXT:    li 4, 15
34871be020dSTing Wang; P8-LE-NEXT:    stxsiwx 34, 3, 4
349e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
350e6d925bcSTing Wang; P8-LE-NEXT:    blr
351e6d925bcSTing Wang;
352e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B3:
353e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
354e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
35571be020dSTing Wang; P9-LE-NEXT:    li 4, 15
35671be020dSTing Wang; P9-LE-NEXT:    stfiwx 0, 3, 4
357e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
358e6d925bcSTing Wang; P9-LE-NEXT:    blr
359e6d925bcSTing Wang;
360e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B3:
361e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
362e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
36371be020dSTing Wang; P10-LE-NEXT:    li 4, 15
36471be020dSTing Wang; P10-LE-NEXT:    stfiwx 0, 3, 4
365e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
366e6d925bcSTing Wang; P10-LE-NEXT:    blr
367e6d925bcSTing Wangentry:
368e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 19, i1 false)
369e6d925bcSTing Wang  ret void
370e6d925bcSTing Wang}
371e6d925bcSTing Wang
372e6d925bcSTing Wangdefine dso_local void @memsetTailV1B2(ptr nocapture noundef writeonly %p) local_unnamed_addr {
373e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B2:
374e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
375e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
376e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 3855
377e6d925bcSTing Wang; P8-BE-NEXT:    sth 4, 16(3)
378e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
379e6d925bcSTing Wang; P8-BE-NEXT:    blr
380e6d925bcSTing Wang;
381e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B2:
382e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
383e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 3855
384e6d925bcSTing Wang; P9-BE-NEXT:    sth 4, 16(3)
385e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
386e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
387e6d925bcSTing Wang; P9-BE-NEXT:    blr
388e6d925bcSTing Wang;
389e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B2:
390e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
391e6d925bcSTing Wang; P10-BE-NEXT:    li 4, 3855
392e6d925bcSTing Wang; P10-BE-NEXT:    sth 4, 16(3)
393e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
394e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
395e6d925bcSTing Wang; P10-BE-NEXT:    blr
396e6d925bcSTing Wang;
397e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B2:
398e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
399e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
400e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 3855
401e6d925bcSTing Wang; P8-LE-NEXT:    sth 4, 16(3)
402e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
403e6d925bcSTing Wang; P8-LE-NEXT:    blr
404e6d925bcSTing Wang;
405e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B2:
406e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
407e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 3855
408e6d925bcSTing Wang; P9-LE-NEXT:    sth 4, 16(3)
409e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
410e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
411e6d925bcSTing Wang; P9-LE-NEXT:    blr
412e6d925bcSTing Wang;
413e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B2:
414e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
415e6d925bcSTing Wang; P10-LE-NEXT:    li 4, 3855
416e6d925bcSTing Wang; P10-LE-NEXT:    sth 4, 16(3)
417e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
418e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
419e6d925bcSTing Wang; P10-LE-NEXT:    blr
420e6d925bcSTing Wangentry:
421e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 18, i1 false)
422e6d925bcSTing Wang  ret void
423e6d925bcSTing Wang}
424e6d925bcSTing Wang
425e6d925bcSTing Wangdefine dso_local void @memsetTailV1B1(ptr nocapture noundef writeonly %p) local_unnamed_addr {
426e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV1B1:
427e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
428e6d925bcSTing Wang; P8-BE-NEXT:    vspltisb 2, 15
429e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 15
430e6d925bcSTing Wang; P8-BE-NEXT:    stb 4, 16(3)
431e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 34, 0, 3
432e6d925bcSTing Wang; P8-BE-NEXT:    blr
433e6d925bcSTing Wang;
434e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV1B1:
435e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
436e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 15
437e6d925bcSTing Wang; P9-BE-NEXT:    stb 4, 16(3)
438e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 15
439e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
440e6d925bcSTing Wang; P9-BE-NEXT:    blr
441e6d925bcSTing Wang;
442e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV1B1:
443e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
444e6d925bcSTing Wang; P10-BE-NEXT:    li 4, 15
445e6d925bcSTing Wang; P10-BE-NEXT:    stb 4, 16(3)
446e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 15
447e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
448e6d925bcSTing Wang; P10-BE-NEXT:    blr
449e6d925bcSTing Wang;
450e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV1B1:
451e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
452e6d925bcSTing Wang; P8-LE-NEXT:    vspltisb 2, 15
453e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 15
454e6d925bcSTing Wang; P8-LE-NEXT:    stb 4, 16(3)
455e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 34, 0, 3
456e6d925bcSTing Wang; P8-LE-NEXT:    blr
457e6d925bcSTing Wang;
458e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV1B1:
459e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
460e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 15
461e6d925bcSTing Wang; P9-LE-NEXT:    stb 4, 16(3)
462e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 15
463e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
464e6d925bcSTing Wang; P9-LE-NEXT:    blr
465e6d925bcSTing Wang;
466e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV1B1:
467e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
468e6d925bcSTing Wang; P10-LE-NEXT:    li 4, 15
469e6d925bcSTing Wang; P10-LE-NEXT:    stb 4, 16(3)
470e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 15
471e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
472e6d925bcSTing Wang; P10-LE-NEXT:    blr
473e6d925bcSTing Wangentry:
474e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 17, i1 false)
475e6d925bcSTing Wang  ret void
476e6d925bcSTing Wang}
477e6d925bcSTing Wang
478e6d925bcSTing Wangdefine dso_local void @memset2TailV1B15(ptr nocapture noundef writeonly %p) local_unnamed_addr {
479e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B15:
480e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
481e6d925bcSTing Wang; P8-BE-NEXT:    ld 4, L..C0(2) # %const.0
482e6d925bcSTing Wang; P8-BE-NEXT:    lxvw4x 0, 0, 4
483e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 15
484e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 3, 4
485e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
486e6d925bcSTing Wang; P8-BE-NEXT:    blr
487e6d925bcSTing Wang;
488e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B15:
489e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
490e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
491e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 15
492e6d925bcSTing Wang; P9-BE-NEXT:    stxvx 0, 3, 4
493e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
494e6d925bcSTing Wang; P9-BE-NEXT:    blr
495e6d925bcSTing Wang;
496e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B15:
497e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
498e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
499e6d925bcSTing Wang; P10-BE-NEXT:    pstxv 0, 15(3), 0
500e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
501e6d925bcSTing Wang; P10-BE-NEXT:    blr
502e6d925bcSTing Wang;
503e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B15:
504e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
505e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI9_0@toc@ha
506e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI9_0@toc@l
507e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
508e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 15
509e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 3, 4
510e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
511e6d925bcSTing Wang; P8-LE-NEXT:    blr
512e6d925bcSTing Wang;
513e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B15:
514e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
515e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
516e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 15
517e6d925bcSTing Wang; P9-LE-NEXT:    stxvx 0, 3, 4
518e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
519e6d925bcSTing Wang; P9-LE-NEXT:    blr
520e6d925bcSTing Wang;
521e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B15:
522e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
523e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
524e6d925bcSTing Wang; P10-LE-NEXT:    pstxv 0, 15(3), 0
525e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
526e6d925bcSTing Wang; P10-LE-NEXT:    blr
527e6d925bcSTing Wangentry:
528e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 31, i1 false)
529e6d925bcSTing Wang  ret void
530e6d925bcSTing Wang}
531e6d925bcSTing Wang
532e6d925bcSTing Wangdefine dso_local void @memset2TailV1B12(ptr nocapture noundef writeonly %p) local_unnamed_addr {
533e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B12:
534e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
535e6d925bcSTing Wang; P8-BE-NEXT:    ld 4, L..C1(2) # %const.0
536e6d925bcSTing Wang; P8-BE-NEXT:    lxvw4x 0, 0, 4
537e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 12
538e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 3, 4
539e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
540e6d925bcSTing Wang; P8-BE-NEXT:    blr
541e6d925bcSTing Wang;
542e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B12:
543e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
544e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
545e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 12
546e6d925bcSTing Wang; P9-BE-NEXT:    stxvx 0, 3, 4
547e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
548e6d925bcSTing Wang; P9-BE-NEXT:    blr
549e6d925bcSTing Wang;
550e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B12:
551e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
552e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
553e6d925bcSTing Wang; P10-BE-NEXT:    pstxv 0, 12(3), 0
554e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
555e6d925bcSTing Wang; P10-BE-NEXT:    blr
556e6d925bcSTing Wang;
557e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B12:
558e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
559e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI10_0@toc@ha
560e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI10_0@toc@l
561e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
562e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 12
563e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 3, 4
564e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
565e6d925bcSTing Wang; P8-LE-NEXT:    blr
566e6d925bcSTing Wang;
567e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B12:
568e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
569e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
570e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 12
571e6d925bcSTing Wang; P9-LE-NEXT:    stxvx 0, 3, 4
572e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
573e6d925bcSTing Wang; P9-LE-NEXT:    blr
574e6d925bcSTing Wang;
575e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B12:
576e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
577e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
578e6d925bcSTing Wang; P10-LE-NEXT:    pstxv 0, 12(3), 0
579e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
580e6d925bcSTing Wang; P10-LE-NEXT:    blr
581e6d925bcSTing Wangentry:
582e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 28, i1 false)
583e6d925bcSTing Wang  ret void
584e6d925bcSTing Wang}
585e6d925bcSTing Wang
586e6d925bcSTing Wangdefine dso_local void @memset2TailV1B9(ptr nocapture noundef writeonly %p) local_unnamed_addr {
587e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B9:
588e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
589e6d925bcSTing Wang; P8-BE-NEXT:    ld 4, L..C2(2) # %const.0
590e6d925bcSTing Wang; P8-BE-NEXT:    lxvw4x 0, 0, 4
591e6d925bcSTing Wang; P8-BE-NEXT:    li 4, 9
592e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 3, 4
593e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
594e6d925bcSTing Wang; P8-BE-NEXT:    blr
595e6d925bcSTing Wang;
596e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B9:
597e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
598e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
599e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 9
600e6d925bcSTing Wang; P9-BE-NEXT:    stxvx 0, 3, 4
601e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
602e6d925bcSTing Wang; P9-BE-NEXT:    blr
603e6d925bcSTing Wang;
604e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B9:
605e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
606e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
607e6d925bcSTing Wang; P10-BE-NEXT:    pstxv 0, 9(3), 0
608e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
609e6d925bcSTing Wang; P10-BE-NEXT:    blr
610e6d925bcSTing Wang;
611e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B9:
612e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
613e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI11_0@toc@ha
614e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI11_0@toc@l
615e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
616e6d925bcSTing Wang; P8-LE-NEXT:    li 4, 9
617e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 3, 4
618e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
619e6d925bcSTing Wang; P8-LE-NEXT:    blr
620e6d925bcSTing Wang;
621e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B9:
622e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
623e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
624e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 9
625e6d925bcSTing Wang; P9-LE-NEXT:    stxvx 0, 3, 4
626e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
627e6d925bcSTing Wang; P9-LE-NEXT:    blr
628e6d925bcSTing Wang;
629e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B9:
630e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
631e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
632e6d925bcSTing Wang; P10-LE-NEXT:    pstxv 0, 9(3), 0
633e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
634e6d925bcSTing Wang; P10-LE-NEXT:    blr
635e6d925bcSTing Wangentry:
636e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 25, i1 false)
637e6d925bcSTing Wang  ret void
638e6d925bcSTing Wang}
639e6d925bcSTing Wang
640e6d925bcSTing Wangdefine dso_local void @memset2TailV1B8(ptr nocapture noundef writeonly %p) local_unnamed_addr {
641e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B8:
642e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
643e6d925bcSTing Wang; P8-BE-NEXT:    ld 4, L..C3(2) # %const.0
644e6d925bcSTing Wang; P8-BE-NEXT:    lxvw4x 0, 0, 4
64571be020dSTing Wang; P8-BE-NEXT:    stfd 0, 16(3)
646e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
647e6d925bcSTing Wang; P8-BE-NEXT:    blr
648e6d925bcSTing Wang;
649e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B8:
650e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
651e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
652e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
65371be020dSTing Wang; P9-BE-NEXT:    stfd 0, 16(3)
654e6d925bcSTing Wang; P9-BE-NEXT:    blr
655e6d925bcSTing Wang;
656e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B8:
657e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
658e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
659e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
66071be020dSTing Wang; P10-BE-NEXT:    stfd 0, 16(3)
661e6d925bcSTing Wang; P10-BE-NEXT:    blr
662e6d925bcSTing Wang;
663e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B8:
664e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
665e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI12_0@toc@ha
666e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI12_0@toc@l
667e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
66871be020dSTing Wang; P8-LE-NEXT:    stfd 0, 16(3)
669e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
670e6d925bcSTing Wang; P8-LE-NEXT:    blr
671e6d925bcSTing Wang;
672e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B8:
673e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
674e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
675e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
67671be020dSTing Wang; P9-LE-NEXT:    stfd 0, 16(3)
677e6d925bcSTing Wang; P9-LE-NEXT:    blr
678e6d925bcSTing Wang;
679e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B8:
680e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
681e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
682e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
68371be020dSTing Wang; P10-LE-NEXT:    stfd 0, 16(3)
684e6d925bcSTing Wang; P10-LE-NEXT:    blr
685e6d925bcSTing Wangentry:
686e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 24, i1 false)
687e6d925bcSTing Wang  ret void
688e6d925bcSTing Wang}
689e6d925bcSTing Wang
690e6d925bcSTing Wangdefine dso_local void @memset2TailV1B7(ptr nocapture noundef writeonly %p) local_unnamed_addr {
691e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B7:
692e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
693e6d925bcSTing Wang; P8-BE-NEXT:    ld 4, L..C4(2) # %const.0
694e6d925bcSTing Wang; P8-BE-NEXT:    lxvw4x 0, 0, 4
69571be020dSTing Wang; P8-BE-NEXT:    stfd 0, 15(3)
696e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
697e6d925bcSTing Wang; P8-BE-NEXT:    blr
698e6d925bcSTing Wang;
699e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B7:
700e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
701e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
70271be020dSTing Wang; P9-BE-NEXT:    stfd 0, 15(3)
703e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
704e6d925bcSTing Wang; P9-BE-NEXT:    blr
705e6d925bcSTing Wang;
706e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B7:
707e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
708e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
70971be020dSTing Wang; P10-BE-NEXT:    stfd 0, 15(3)
710e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
711e6d925bcSTing Wang; P10-BE-NEXT:    blr
712e6d925bcSTing Wang;
713e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B7:
714e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
715e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI13_0@toc@ha
716e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI13_0@toc@l
717e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
71871be020dSTing Wang; P8-LE-NEXT:    stfd 0, 15(3)
719e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
720e6d925bcSTing Wang; P8-LE-NEXT:    blr
721e6d925bcSTing Wang;
722e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B7:
723e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
724e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
72571be020dSTing Wang; P9-LE-NEXT:    stfd 0, 15(3)
726e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
727e6d925bcSTing Wang; P9-LE-NEXT:    blr
728e6d925bcSTing Wang;
729e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B7:
730e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
731e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
73271be020dSTing Wang; P10-LE-NEXT:    stfd 0, 15(3)
733e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
734e6d925bcSTing Wang; P10-LE-NEXT:    blr
735e6d925bcSTing Wangentry:
736e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 23, i1 false)
737e6d925bcSTing Wang  ret void
738e6d925bcSTing Wang}
739e6d925bcSTing Wang
740e6d925bcSTing Wangdefine dso_local void @memset2TailV1B4(ptr nocapture noundef writeonly %p) local_unnamed_addr {
741e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B4:
742e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
743e6d925bcSTing Wang; P8-BE-NEXT:    ld 4, L..C5(2) # %const.0
744e6d925bcSTing Wang; P8-BE-NEXT:    lxvw4x 0, 0, 4
74571be020dSTing Wang; P8-BE-NEXT:    li 4, 16
74671be020dSTing Wang; P8-BE-NEXT:    stfiwx 0, 3, 4
747e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
748e6d925bcSTing Wang; P8-BE-NEXT:    blr
749e6d925bcSTing Wang;
750e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B4:
751e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
752e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
75371be020dSTing Wang; P9-BE-NEXT:    li 4, 16
75471be020dSTing Wang; P9-BE-NEXT:    stfiwx 0, 3, 4
755e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
756e6d925bcSTing Wang; P9-BE-NEXT:    blr
757e6d925bcSTing Wang;
758e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B4:
759e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
760e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
76171be020dSTing Wang; P10-BE-NEXT:    li 4, 16
76271be020dSTing Wang; P10-BE-NEXT:    stfiwx 0, 3, 4
763e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
764e6d925bcSTing Wang; P10-BE-NEXT:    blr
765e6d925bcSTing Wang;
766e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B4:
767e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
768e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI14_0@toc@ha
769e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI14_0@toc@l
770e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
77171be020dSTing Wang; P8-LE-NEXT:    li 4, 16
77271be020dSTing Wang; P8-LE-NEXT:    stfiwx 0, 3, 4
773e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
774e6d925bcSTing Wang; P8-LE-NEXT:    blr
775e6d925bcSTing Wang;
776e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B4:
777e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
778e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
77971be020dSTing Wang; P9-LE-NEXT:    li 4, 16
78071be020dSTing Wang; P9-LE-NEXT:    stfiwx 0, 3, 4
781e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
782e6d925bcSTing Wang; P9-LE-NEXT:    blr
783e6d925bcSTing Wang;
784e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B4:
785e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
786e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
78771be020dSTing Wang; P10-LE-NEXT:    li 4, 16
78871be020dSTing Wang; P10-LE-NEXT:    stfiwx 0, 3, 4
789e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
790e6d925bcSTing Wang; P10-LE-NEXT:    blr
791e6d925bcSTing Wangentry:
792e6d925bcSTing Wang  tail call void @llvm.memset.p0.i32(ptr %p, i8 165, i32 20, i1 false)
793e6d925bcSTing Wang  ret void
794e6d925bcSTing Wang}
795e6d925bcSTing Wang
796e6d925bcSTing Wangdefine dso_local void @memset2TailV1B3(ptr nocapture noundef writeonly %p) local_unnamed_addr {
797e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B3:
798e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
799e6d925bcSTing Wang; P8-BE-NEXT:    ld 4, L..C6(2) # %const.0
800e6d925bcSTing Wang; P8-BE-NEXT:    lxvw4x 0, 0, 4
80171be020dSTing Wang; P8-BE-NEXT:    li 4, 15
80271be020dSTing Wang; P8-BE-NEXT:    stfiwx 0, 3, 4
803e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
804e6d925bcSTing Wang; P8-BE-NEXT:    blr
805e6d925bcSTing Wang;
806e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B3:
807e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
808e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
80971be020dSTing Wang; P9-BE-NEXT:    li 4, 15
81071be020dSTing Wang; P9-BE-NEXT:    stfiwx 0, 3, 4
811e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
812e6d925bcSTing Wang; P9-BE-NEXT:    blr
813e6d925bcSTing Wang;
814e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B3:
815e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
816e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
81771be020dSTing Wang; P10-BE-NEXT:    li 4, 15
81871be020dSTing Wang; P10-BE-NEXT:    stfiwx 0, 3, 4
819e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
820e6d925bcSTing Wang; P10-BE-NEXT:    blr
821e6d925bcSTing Wang;
822e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B3:
823e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
824e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI15_0@toc@ha
825e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI15_0@toc@l
826e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
82771be020dSTing Wang; P8-LE-NEXT:    li 4, 15
82871be020dSTing Wang; P8-LE-NEXT:    stfiwx 0, 3, 4
829e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
830e6d925bcSTing Wang; P8-LE-NEXT:    blr
831e6d925bcSTing Wang;
832e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B3:
833e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
834e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
83571be020dSTing Wang; P9-LE-NEXT:    li 4, 15
83671be020dSTing Wang; P9-LE-NEXT:    stfiwx 0, 3, 4
837e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
838e6d925bcSTing Wang; P9-LE-NEXT:    blr
839e6d925bcSTing Wang;
840e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B3:
841e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
842e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
84371be020dSTing Wang; P10-LE-NEXT:    li 4, 15
84471be020dSTing Wang; P10-LE-NEXT:    stfiwx 0, 3, 4
845e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
846e6d925bcSTing Wang; P10-LE-NEXT:    blr
847e6d925bcSTing Wangentry:
848e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 19, i1 false)
849e6d925bcSTing Wang  ret void
850e6d925bcSTing Wang}
851e6d925bcSTing Wang
852e6d925bcSTing Wangdefine dso_local void @memset2TailV1B2(ptr nocapture noundef writeonly %p) local_unnamed_addr {
853e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B2:
854e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
855e6d925bcSTing Wang; P8-BE-NEXT:    li 4, -23131
856e6d925bcSTing Wang; P8-BE-NEXT:    sth 4, 16(3)
857*b922a362SQiu Chaofan; P8-BE-NEXT:    ld 4, L..C7(2) # %const.0
858*b922a362SQiu Chaofan; P8-BE-NEXT:    lxvw4x 0, 0, 4
859e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
860e6d925bcSTing Wang; P8-BE-NEXT:    blr
861e6d925bcSTing Wang;
862e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B2:
863e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
864e6d925bcSTing Wang; P9-BE-NEXT:    li 4, -23131
865e6d925bcSTing Wang; P9-BE-NEXT:    sth 4, 16(3)
866e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
867e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
868e6d925bcSTing Wang; P9-BE-NEXT:    blr
869e6d925bcSTing Wang;
870e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B2:
871e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
872e6d925bcSTing Wang; P10-BE-NEXT:    li 4, -23131
873e6d925bcSTing Wang; P10-BE-NEXT:    sth 4, 16(3)
874e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
875e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
876e6d925bcSTing Wang; P10-BE-NEXT:    blr
877e6d925bcSTing Wang;
878e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B2:
879e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
880*b922a362SQiu Chaofan; P8-LE-NEXT:    li 4, -23131
881*b922a362SQiu Chaofan; P8-LE-NEXT:    sth 4, 16(3)
882e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI16_0@toc@ha
883e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI16_0@toc@l
884e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
885e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
886e6d925bcSTing Wang; P8-LE-NEXT:    blr
887e6d925bcSTing Wang;
888e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B2:
889e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
890e6d925bcSTing Wang; P9-LE-NEXT:    li 4, -23131
891e6d925bcSTing Wang; P9-LE-NEXT:    sth 4, 16(3)
892e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
893e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
894e6d925bcSTing Wang; P9-LE-NEXT:    blr
895e6d925bcSTing Wang;
896e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B2:
897e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
898e6d925bcSTing Wang; P10-LE-NEXT:    li 4, -23131
899e6d925bcSTing Wang; P10-LE-NEXT:    sth 4, 16(3)
900e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
901e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
902e6d925bcSTing Wang; P10-LE-NEXT:    blr
903e6d925bcSTing Wangentry:
904e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 18, i1 false)
905e6d925bcSTing Wang  ret void
906e6d925bcSTing Wang}
907e6d925bcSTing Wang
908e6d925bcSTing Wangdefine dso_local void @memset2TailV1B1(ptr nocapture noundef writeonly %p) local_unnamed_addr {
909e6d925bcSTing Wang; P8-BE-LABEL: memset2TailV1B1:
910e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
911e6d925bcSTing Wang; P8-BE-NEXT:    li 4, -91
912e6d925bcSTing Wang; P8-BE-NEXT:    stb 4, 16(3)
913*b922a362SQiu Chaofan; P8-BE-NEXT:    ld 4, L..C8(2) # %const.0
914*b922a362SQiu Chaofan; P8-BE-NEXT:    lxvw4x 0, 0, 4
915e6d925bcSTing Wang; P8-BE-NEXT:    stxvw4x 0, 0, 3
916e6d925bcSTing Wang; P8-BE-NEXT:    blr
917e6d925bcSTing Wang;
918e6d925bcSTing Wang; P9-BE-LABEL: memset2TailV1B1:
919e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
920e6d925bcSTing Wang; P9-BE-NEXT:    li 4, -91
921e6d925bcSTing Wang; P9-BE-NEXT:    stb 4, 16(3)
922e6d925bcSTing Wang; P9-BE-NEXT:    xxspltib 0, 165
923e6d925bcSTing Wang; P9-BE-NEXT:    stxv 0, 0(3)
924e6d925bcSTing Wang; P9-BE-NEXT:    blr
925e6d925bcSTing Wang;
926e6d925bcSTing Wang; P10-BE-LABEL: memset2TailV1B1:
927e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
928e6d925bcSTing Wang; P10-BE-NEXT:    li 4, -91
929e6d925bcSTing Wang; P10-BE-NEXT:    stb 4, 16(3)
930e6d925bcSTing Wang; P10-BE-NEXT:    xxspltib 0, 165
931e6d925bcSTing Wang; P10-BE-NEXT:    stxv 0, 0(3)
932e6d925bcSTing Wang; P10-BE-NEXT:    blr
933e6d925bcSTing Wang;
934e6d925bcSTing Wang; P8-LE-LABEL: memset2TailV1B1:
935e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
936*b922a362SQiu Chaofan; P8-LE-NEXT:    li 4, -91
937*b922a362SQiu Chaofan; P8-LE-NEXT:    stb 4, 16(3)
938e6d925bcSTing Wang; P8-LE-NEXT:    addis 4, 2, .LCPI17_0@toc@ha
939e6d925bcSTing Wang; P8-LE-NEXT:    addi 4, 4, .LCPI17_0@toc@l
940e6d925bcSTing Wang; P8-LE-NEXT:    lxvd2x 0, 0, 4
941e6d925bcSTing Wang; P8-LE-NEXT:    stxvd2x 0, 0, 3
942e6d925bcSTing Wang; P8-LE-NEXT:    blr
943e6d925bcSTing Wang;
944e6d925bcSTing Wang; P9-LE-LABEL: memset2TailV1B1:
945e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
946e6d925bcSTing Wang; P9-LE-NEXT:    li 4, -91
947e6d925bcSTing Wang; P9-LE-NEXT:    stb 4, 16(3)
948e6d925bcSTing Wang; P9-LE-NEXT:    xxspltib 0, 165
949e6d925bcSTing Wang; P9-LE-NEXT:    stxv 0, 0(3)
950e6d925bcSTing Wang; P9-LE-NEXT:    blr
951e6d925bcSTing Wang;
952e6d925bcSTing Wang; P10-LE-LABEL: memset2TailV1B1:
953e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
954e6d925bcSTing Wang; P10-LE-NEXT:    li 4, -91
955e6d925bcSTing Wang; P10-LE-NEXT:    stb 4, 16(3)
956e6d925bcSTing Wang; P10-LE-NEXT:    xxspltib 0, 165
957e6d925bcSTing Wang; P10-LE-NEXT:    stxv 0, 0(3)
958e6d925bcSTing Wang; P10-LE-NEXT:    blr
959e6d925bcSTing Wangentry:
960e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 17, i1 false)
961e6d925bcSTing Wang  ret void
962e6d925bcSTing Wang}
963e6d925bcSTing Wang
964e6d925bcSTing Wangdefine dso_local void @memsetTailV0B15(ptr nocapture noundef writeonly %p) local_unnamed_addr {
965e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B15:
966e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
967e6d925bcSTing Wang; P8-BE-NEXT:    lis 4, 3855
968e6d925bcSTing Wang; P8-BE-NEXT:    li 5, 7
969e6d925bcSTing Wang; P8-BE-NEXT:    ori 4, 4, 3855
970e6d925bcSTing Wang; P8-BE-NEXT:    rldimi 4, 4, 32, 0
971e6d925bcSTing Wang; P8-BE-NEXT:    stdx 4, 3, 5
972e6d925bcSTing Wang; P8-BE-NEXT:    std 4, 0(3)
973e6d925bcSTing Wang; P8-BE-NEXT:    blr
974e6d925bcSTing Wang;
975e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B15:
976e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
977e6d925bcSTing Wang; P9-BE-NEXT:    lis 4, 3855
978e6d925bcSTing Wang; P9-BE-NEXT:    li 5, 7
979e6d925bcSTing Wang; P9-BE-NEXT:    ori 4, 4, 3855
980e6d925bcSTing Wang; P9-BE-NEXT:    rldimi 4, 4, 32, 0
981e6d925bcSTing Wang; P9-BE-NEXT:    stdx 4, 3, 5
982e6d925bcSTing Wang; P9-BE-NEXT:    std 4, 0(3)
983e6d925bcSTing Wang; P9-BE-NEXT:    blr
984e6d925bcSTing Wang;
985e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B15:
986e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
987e6d925bcSTing Wang; P10-BE-NEXT:    pli 4, 252645135
988e6d925bcSTing Wang; P10-BE-NEXT:    rldimi 4, 4, 32, 0
989e6d925bcSTing Wang; P10-BE-NEXT:    pstd 4, 7(3), 0
990e6d925bcSTing Wang; P10-BE-NEXT:    std 4, 0(3)
991e6d925bcSTing Wang; P10-BE-NEXT:    blr
992e6d925bcSTing Wang;
993e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B15:
994e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
995e6d925bcSTing Wang; P8-LE-NEXT:    lis 4, 3855
996e6d925bcSTing Wang; P8-LE-NEXT:    li 5, 7
997e6d925bcSTing Wang; P8-LE-NEXT:    ori 4, 4, 3855
998e6d925bcSTing Wang; P8-LE-NEXT:    rldimi 4, 4, 32, 0
999e6d925bcSTing Wang; P8-LE-NEXT:    stdx 4, 3, 5
1000e6d925bcSTing Wang; P8-LE-NEXT:    std 4, 0(3)
1001e6d925bcSTing Wang; P8-LE-NEXT:    blr
1002e6d925bcSTing Wang;
1003e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B15:
1004e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1005e6d925bcSTing Wang; P9-LE-NEXT:    lis 4, 3855
1006e6d925bcSTing Wang; P9-LE-NEXT:    li 5, 7
1007e6d925bcSTing Wang; P9-LE-NEXT:    ori 4, 4, 3855
1008e6d925bcSTing Wang; P9-LE-NEXT:    rldimi 4, 4, 32, 0
1009e6d925bcSTing Wang; P9-LE-NEXT:    stdx 4, 3, 5
1010e6d925bcSTing Wang; P9-LE-NEXT:    std 4, 0(3)
1011e6d925bcSTing Wang; P9-LE-NEXT:    blr
1012e6d925bcSTing Wang;
1013e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B15:
1014e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1015e6d925bcSTing Wang; P10-LE-NEXT:    pli 4, 252645135
1016e6d925bcSTing Wang; P10-LE-NEXT:    rldimi 4, 4, 32, 0
1017e6d925bcSTing Wang; P10-LE-NEXT:    pstd 4, 7(3), 0
1018e6d925bcSTing Wang; P10-LE-NEXT:    std 4, 0(3)
1019e6d925bcSTing Wang; P10-LE-NEXT:    blr
1020e6d925bcSTing Wangentry:
1021e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 15, i1 false)
1022e6d925bcSTing Wang  ret void
1023e6d925bcSTing Wang}
1024e6d925bcSTing Wang
1025e6d925bcSTing Wangdefine dso_local void @memsetTailV0B12(ptr nocapture noundef writeonly %p) local_unnamed_addr {
1026e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B12:
1027e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
1028e6d925bcSTing Wang; P8-BE-NEXT:    lis 4, 3855
1029e6d925bcSTing Wang; P8-BE-NEXT:    ori 4, 4, 3855
1030e6d925bcSTing Wang; P8-BE-NEXT:    rldimi 4, 4, 32, 0
1031e6d925bcSTing Wang; P8-BE-NEXT:    stw 4, 8(3)
1032e6d925bcSTing Wang; P8-BE-NEXT:    std 4, 0(3)
1033e6d925bcSTing Wang; P8-BE-NEXT:    blr
1034e6d925bcSTing Wang;
1035e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B12:
1036e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
1037e6d925bcSTing Wang; P9-BE-NEXT:    lis 4, 3855
1038e6d925bcSTing Wang; P9-BE-NEXT:    ori 4, 4, 3855
1039e6d925bcSTing Wang; P9-BE-NEXT:    rldimi 4, 4, 32, 0
1040e6d925bcSTing Wang; P9-BE-NEXT:    stw 4, 8(3)
1041e6d925bcSTing Wang; P9-BE-NEXT:    std 4, 0(3)
1042e6d925bcSTing Wang; P9-BE-NEXT:    blr
1043e6d925bcSTing Wang;
1044e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B12:
1045e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
1046e6d925bcSTing Wang; P10-BE-NEXT:    pli 4, 252645135
1047e6d925bcSTing Wang; P10-BE-NEXT:    rldimi 4, 4, 32, 0
1048e6d925bcSTing Wang; P10-BE-NEXT:    stw 4, 8(3)
1049e6d925bcSTing Wang; P10-BE-NEXT:    std 4, 0(3)
1050e6d925bcSTing Wang; P10-BE-NEXT:    blr
1051e6d925bcSTing Wang;
1052e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B12:
1053e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
1054e6d925bcSTing Wang; P8-LE-NEXT:    lis 4, 3855
1055e6d925bcSTing Wang; P8-LE-NEXT:    ori 4, 4, 3855
1056e6d925bcSTing Wang; P8-LE-NEXT:    rldimi 4, 4, 32, 0
1057e6d925bcSTing Wang; P8-LE-NEXT:    stw 4, 8(3)
1058e6d925bcSTing Wang; P8-LE-NEXT:    std 4, 0(3)
1059e6d925bcSTing Wang; P8-LE-NEXT:    blr
1060e6d925bcSTing Wang;
1061e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B12:
1062e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1063e6d925bcSTing Wang; P9-LE-NEXT:    lis 4, 3855
1064e6d925bcSTing Wang; P9-LE-NEXT:    ori 4, 4, 3855
1065e6d925bcSTing Wang; P9-LE-NEXT:    rldimi 4, 4, 32, 0
1066e6d925bcSTing Wang; P9-LE-NEXT:    stw 4, 8(3)
1067e6d925bcSTing Wang; P9-LE-NEXT:    std 4, 0(3)
1068e6d925bcSTing Wang; P9-LE-NEXT:    blr
1069e6d925bcSTing Wang;
1070e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B12:
1071e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1072e6d925bcSTing Wang; P10-LE-NEXT:    pli 4, 252645135
1073e6d925bcSTing Wang; P10-LE-NEXT:    rldimi 4, 4, 32, 0
1074e6d925bcSTing Wang; P10-LE-NEXT:    stw 4, 8(3)
1075e6d925bcSTing Wang; P10-LE-NEXT:    std 4, 0(3)
1076e6d925bcSTing Wang; P10-LE-NEXT:    blr
1077e6d925bcSTing Wangentry:
1078e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 12, i1 false)
1079e6d925bcSTing Wang  ret void
1080e6d925bcSTing Wang}
1081e6d925bcSTing Wang
1082e6d925bcSTing Wangdefine dso_local void @memsetTailV0B9(ptr nocapture noundef writeonly %p) local_unnamed_addr {
1083e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B9:
1084e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
1085*b922a362SQiu Chaofan; P8-BE-NEXT:    li 4, 15
1086*b922a362SQiu Chaofan; P8-BE-NEXT:    stb 4, 8(3)
1087e6d925bcSTing Wang; P8-BE-NEXT:    lis 4, 3855
1088e6d925bcSTing Wang; P8-BE-NEXT:    ori 4, 4, 3855
1089e6d925bcSTing Wang; P8-BE-NEXT:    rldimi 4, 4, 32, 0
1090e6d925bcSTing Wang; P8-BE-NEXT:    std 4, 0(3)
1091e6d925bcSTing Wang; P8-BE-NEXT:    blr
1092e6d925bcSTing Wang;
1093e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B9:
1094e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
1095e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 15
1096e6d925bcSTing Wang; P9-BE-NEXT:    stb 4, 8(3)
1097e6d925bcSTing Wang; P9-BE-NEXT:    lis 4, 3855
1098e6d925bcSTing Wang; P9-BE-NEXT:    ori 4, 4, 3855
1099e6d925bcSTing Wang; P9-BE-NEXT:    rldimi 4, 4, 32, 0
1100e6d925bcSTing Wang; P9-BE-NEXT:    std 4, 0(3)
1101e6d925bcSTing Wang; P9-BE-NEXT:    blr
1102e6d925bcSTing Wang;
1103e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B9:
1104e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
1105e6d925bcSTing Wang; P10-BE-NEXT:    li 4, 15
1106e6d925bcSTing Wang; P10-BE-NEXT:    stb 4, 8(3)
1107e6d925bcSTing Wang; P10-BE-NEXT:    pli 4, 252645135
1108e6d925bcSTing Wang; P10-BE-NEXT:    rldimi 4, 4, 32, 0
1109e6d925bcSTing Wang; P10-BE-NEXT:    std 4, 0(3)
1110e6d925bcSTing Wang; P10-BE-NEXT:    blr
1111e6d925bcSTing Wang;
1112e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B9:
1113e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
1114*b922a362SQiu Chaofan; P8-LE-NEXT:    li 4, 15
1115*b922a362SQiu Chaofan; P8-LE-NEXT:    stb 4, 8(3)
1116e6d925bcSTing Wang; P8-LE-NEXT:    lis 4, 3855
1117e6d925bcSTing Wang; P8-LE-NEXT:    ori 4, 4, 3855
1118e6d925bcSTing Wang; P8-LE-NEXT:    rldimi 4, 4, 32, 0
1119e6d925bcSTing Wang; P8-LE-NEXT:    std 4, 0(3)
1120e6d925bcSTing Wang; P8-LE-NEXT:    blr
1121e6d925bcSTing Wang;
1122e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B9:
1123e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1124e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 15
1125e6d925bcSTing Wang; P9-LE-NEXT:    stb 4, 8(3)
1126e6d925bcSTing Wang; P9-LE-NEXT:    lis 4, 3855
1127e6d925bcSTing Wang; P9-LE-NEXT:    ori 4, 4, 3855
1128e6d925bcSTing Wang; P9-LE-NEXT:    rldimi 4, 4, 32, 0
1129e6d925bcSTing Wang; P9-LE-NEXT:    std 4, 0(3)
1130e6d925bcSTing Wang; P9-LE-NEXT:    blr
1131e6d925bcSTing Wang;
1132e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B9:
1133e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1134e6d925bcSTing Wang; P10-LE-NEXT:    li 4, 15
1135e6d925bcSTing Wang; P10-LE-NEXT:    stb 4, 8(3)
1136e6d925bcSTing Wang; P10-LE-NEXT:    pli 4, 252645135
1137e6d925bcSTing Wang; P10-LE-NEXT:    rldimi 4, 4, 32, 0
1138e6d925bcSTing Wang; P10-LE-NEXT:    std 4, 0(3)
1139e6d925bcSTing Wang; P10-LE-NEXT:    blr
1140e6d925bcSTing Wangentry:
1141e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 9, i1 false)
1142e6d925bcSTing Wang  ret void
1143e6d925bcSTing Wang}
1144e6d925bcSTing Wang
1145e6d925bcSTing Wangdefine dso_local void @memsetTailV0B8(ptr nocapture noundef writeonly %p) local_unnamed_addr {
1146e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B8:
1147e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
1148e6d925bcSTing Wang; P8-BE-NEXT:    lis 4, 3855
1149e6d925bcSTing Wang; P8-BE-NEXT:    ori 4, 4, 3855
1150e6d925bcSTing Wang; P8-BE-NEXT:    rldimi 4, 4, 32, 0
1151e6d925bcSTing Wang; P8-BE-NEXT:    std 4, 0(3)
1152e6d925bcSTing Wang; P8-BE-NEXT:    blr
1153e6d925bcSTing Wang;
1154e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B8:
1155e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
1156e6d925bcSTing Wang; P9-BE-NEXT:    lis 4, 3855
1157e6d925bcSTing Wang; P9-BE-NEXT:    ori 4, 4, 3855
1158e6d925bcSTing Wang; P9-BE-NEXT:    rldimi 4, 4, 32, 0
1159e6d925bcSTing Wang; P9-BE-NEXT:    std 4, 0(3)
1160e6d925bcSTing Wang; P9-BE-NEXT:    blr
1161e6d925bcSTing Wang;
1162e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B8:
1163e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
1164e6d925bcSTing Wang; P10-BE-NEXT:    pli 4, 252645135
1165e6d925bcSTing Wang; P10-BE-NEXT:    rldimi 4, 4, 32, 0
1166e6d925bcSTing Wang; P10-BE-NEXT:    std 4, 0(3)
1167e6d925bcSTing Wang; P10-BE-NEXT:    blr
1168e6d925bcSTing Wang;
1169e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B8:
1170e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
1171e6d925bcSTing Wang; P8-LE-NEXT:    lis 4, 3855
1172e6d925bcSTing Wang; P8-LE-NEXT:    ori 4, 4, 3855
1173e6d925bcSTing Wang; P8-LE-NEXT:    rldimi 4, 4, 32, 0
1174e6d925bcSTing Wang; P8-LE-NEXT:    std 4, 0(3)
1175e6d925bcSTing Wang; P8-LE-NEXT:    blr
1176e6d925bcSTing Wang;
1177e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B8:
1178e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1179e6d925bcSTing Wang; P9-LE-NEXT:    lis 4, 3855
1180e6d925bcSTing Wang; P9-LE-NEXT:    ori 4, 4, 3855
1181e6d925bcSTing Wang; P9-LE-NEXT:    rldimi 4, 4, 32, 0
1182e6d925bcSTing Wang; P9-LE-NEXT:    std 4, 0(3)
1183e6d925bcSTing Wang; P9-LE-NEXT:    blr
1184e6d925bcSTing Wang;
1185e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B8:
1186e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1187e6d925bcSTing Wang; P10-LE-NEXT:    pli 4, 252645135
1188e6d925bcSTing Wang; P10-LE-NEXT:    rldimi 4, 4, 32, 0
1189e6d925bcSTing Wang; P10-LE-NEXT:    std 4, 0(3)
1190e6d925bcSTing Wang; P10-LE-NEXT:    blr
1191e6d925bcSTing Wangentry:
1192e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 8, i1 false)
1193e6d925bcSTing Wang  ret void
1194e6d925bcSTing Wang}
1195e6d925bcSTing Wang
1196e6d925bcSTing Wangdefine dso_local void @memsetTailV0B7(ptr nocapture noundef writeonly %p) local_unnamed_addr {
1197e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B7:
1198e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
1199e6d925bcSTing Wang; P8-BE-NEXT:    lis 4, 3855
1200e6d925bcSTing Wang; P8-BE-NEXT:    ori 4, 4, 3855
1201e6d925bcSTing Wang; P8-BE-NEXT:    stw 4, 3(3)
1202e6d925bcSTing Wang; P8-BE-NEXT:    stw 4, 0(3)
1203e6d925bcSTing Wang; P8-BE-NEXT:    blr
1204e6d925bcSTing Wang;
1205e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B7:
1206e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
1207e6d925bcSTing Wang; P9-BE-NEXT:    lis 4, 3855
1208e6d925bcSTing Wang; P9-BE-NEXT:    ori 4, 4, 3855
1209e6d925bcSTing Wang; P9-BE-NEXT:    stw 4, 3(3)
1210e6d925bcSTing Wang; P9-BE-NEXT:    stw 4, 0(3)
1211e6d925bcSTing Wang; P9-BE-NEXT:    blr
1212e6d925bcSTing Wang;
1213e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B7:
1214e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
1215e6d925bcSTing Wang; P10-BE-NEXT:    pli 4, 252645135
1216e6d925bcSTing Wang; P10-BE-NEXT:    stw 4, 3(3)
1217e6d925bcSTing Wang; P10-BE-NEXT:    stw 4, 0(3)
1218e6d925bcSTing Wang; P10-BE-NEXT:    blr
1219e6d925bcSTing Wang;
1220e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B7:
1221e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
1222e6d925bcSTing Wang; P8-LE-NEXT:    lis 4, 3855
1223e6d925bcSTing Wang; P8-LE-NEXT:    ori 4, 4, 3855
1224e6d925bcSTing Wang; P8-LE-NEXT:    stw 4, 3(3)
1225e6d925bcSTing Wang; P8-LE-NEXT:    stw 4, 0(3)
1226e6d925bcSTing Wang; P8-LE-NEXT:    blr
1227e6d925bcSTing Wang;
1228e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B7:
1229e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1230e6d925bcSTing Wang; P9-LE-NEXT:    lis 4, 3855
1231e6d925bcSTing Wang; P9-LE-NEXT:    ori 4, 4, 3855
1232e6d925bcSTing Wang; P9-LE-NEXT:    stw 4, 3(3)
1233e6d925bcSTing Wang; P9-LE-NEXT:    stw 4, 0(3)
1234e6d925bcSTing Wang; P9-LE-NEXT:    blr
1235e6d925bcSTing Wang;
1236e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B7:
1237e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1238e6d925bcSTing Wang; P10-LE-NEXT:    pli 4, 252645135
1239e6d925bcSTing Wang; P10-LE-NEXT:    stw 4, 3(3)
1240e6d925bcSTing Wang; P10-LE-NEXT:    stw 4, 0(3)
1241e6d925bcSTing Wang; P10-LE-NEXT:    blr
1242e6d925bcSTing Wangentry:
1243e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 15, i64 7, i1 false)
1244e6d925bcSTing Wang  ret void
1245e6d925bcSTing Wang}
1246e6d925bcSTing Wang
1247e6d925bcSTing Wangdefine dso_local void @memsetTailV0B5(ptr nocapture noundef writeonly %p) local_unnamed_addr {
1248e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B5:
1249e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
1250*b922a362SQiu Chaofan; P8-BE-NEXT:    li 4, 15
1251*b922a362SQiu Chaofan; P8-BE-NEXT:    stb 4, 4(3)
1252e6d925bcSTing Wang; P8-BE-NEXT:    lis 4, 3855
1253e6d925bcSTing Wang; P8-BE-NEXT:    ori 4, 4, 3855
1254e6d925bcSTing Wang; P8-BE-NEXT:    stw 4, 0(3)
1255e6d925bcSTing Wang; P8-BE-NEXT:    blr
1256e6d925bcSTing Wang;
1257e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B5:
1258e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
1259e6d925bcSTing Wang; P9-BE-NEXT:    li 4, 15
1260e6d925bcSTing Wang; P9-BE-NEXT:    stb 4, 4(3)
1261e6d925bcSTing Wang; P9-BE-NEXT:    lis 4, 3855
1262e6d925bcSTing Wang; P9-BE-NEXT:    ori 4, 4, 3855
1263e6d925bcSTing Wang; P9-BE-NEXT:    stw 4, 0(3)
1264e6d925bcSTing Wang; P9-BE-NEXT:    blr
1265e6d925bcSTing Wang;
1266e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B5:
1267e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
1268e6d925bcSTing Wang; P10-BE-NEXT:    li 4, 15
1269e6d925bcSTing Wang; P10-BE-NEXT:    stb 4, 4(3)
1270e6d925bcSTing Wang; P10-BE-NEXT:    pli 4, 252645135
1271e6d925bcSTing Wang; P10-BE-NEXT:    stw 4, 0(3)
1272e6d925bcSTing Wang; P10-BE-NEXT:    blr
1273e6d925bcSTing Wang;
1274e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B5:
1275e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
1276*b922a362SQiu Chaofan; P8-LE-NEXT:    li 4, 15
1277*b922a362SQiu Chaofan; P8-LE-NEXT:    stb 4, 4(3)
1278e6d925bcSTing Wang; P8-LE-NEXT:    lis 4, 3855
1279e6d925bcSTing Wang; P8-LE-NEXT:    ori 4, 4, 3855
1280e6d925bcSTing Wang; P8-LE-NEXT:    stw 4, 0(3)
1281e6d925bcSTing Wang; P8-LE-NEXT:    blr
1282e6d925bcSTing Wang;
1283e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B5:
1284e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1285e6d925bcSTing Wang; P9-LE-NEXT:    li 4, 15
1286e6d925bcSTing Wang; P9-LE-NEXT:    stb 4, 4(3)
1287e6d925bcSTing Wang; P9-LE-NEXT:    lis 4, 3855
1288e6d925bcSTing Wang; P9-LE-NEXT:    ori 4, 4, 3855
1289e6d925bcSTing Wang; P9-LE-NEXT:    stw 4, 0(3)
1290e6d925bcSTing Wang; P9-LE-NEXT:    blr
1291e6d925bcSTing Wang;
1292e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B5:
1293e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1294e6d925bcSTing Wang; P10-LE-NEXT:    li 4, 15
1295e6d925bcSTing Wang; P10-LE-NEXT:    stb 4, 4(3)
1296e6d925bcSTing Wang; P10-LE-NEXT:    pli 4, 252645135
1297e6d925bcSTing Wang; P10-LE-NEXT:    stw 4, 0(3)
1298e6d925bcSTing Wang; P10-LE-NEXT:    blr
1299e6d925bcSTing Wangentry:
1300e6d925bcSTing Wang  tail call void @llvm.memset.p0.i32(ptr %p, i8 15, i32 5, i1 false)
1301e6d925bcSTing Wang  ret void
1302e6d925bcSTing Wang}
1303e6d925bcSTing Wang
1304e6d925bcSTing Wangdefine dso_local void @memsetTailV0B4(ptr nocapture noundef writeonly %p) local_unnamed_addr {
1305e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B4:
1306e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
1307e6d925bcSTing Wang; P8-BE-NEXT:    lis 4, 3855
1308e6d925bcSTing Wang; P8-BE-NEXT:    ori 4, 4, 3855
1309e6d925bcSTing Wang; P8-BE-NEXT:    stw 4, 0(3)
1310e6d925bcSTing Wang; P8-BE-NEXT:    blr
1311e6d925bcSTing Wang;
1312e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B4:
1313e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
1314e6d925bcSTing Wang; P9-BE-NEXT:    lis 4, 3855
1315e6d925bcSTing Wang; P9-BE-NEXT:    ori 4, 4, 3855
1316e6d925bcSTing Wang; P9-BE-NEXT:    stw 4, 0(3)
1317e6d925bcSTing Wang; P9-BE-NEXT:    blr
1318e6d925bcSTing Wang;
1319e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B4:
1320e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
1321e6d925bcSTing Wang; P10-BE-NEXT:    pli 4, 252645135
1322e6d925bcSTing Wang; P10-BE-NEXT:    stw 4, 0(3)
1323e6d925bcSTing Wang; P10-BE-NEXT:    blr
1324e6d925bcSTing Wang;
1325e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B4:
1326e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
1327e6d925bcSTing Wang; P8-LE-NEXT:    lis 4, 3855
1328e6d925bcSTing Wang; P8-LE-NEXT:    ori 4, 4, 3855
1329e6d925bcSTing Wang; P8-LE-NEXT:    stw 4, 0(3)
1330e6d925bcSTing Wang; P8-LE-NEXT:    blr
1331e6d925bcSTing Wang;
1332e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B4:
1333e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1334e6d925bcSTing Wang; P9-LE-NEXT:    lis 4, 3855
1335e6d925bcSTing Wang; P9-LE-NEXT:    ori 4, 4, 3855
1336e6d925bcSTing Wang; P9-LE-NEXT:    stw 4, 0(3)
1337e6d925bcSTing Wang; P9-LE-NEXT:    blr
1338e6d925bcSTing Wang;
1339e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B4:
1340e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1341e6d925bcSTing Wang; P10-LE-NEXT:    pli 4, 252645135
1342e6d925bcSTing Wang; P10-LE-NEXT:    stw 4, 0(3)
1343e6d925bcSTing Wang; P10-LE-NEXT:    blr
1344e6d925bcSTing Wangentry:
1345e6d925bcSTing Wang  tail call void @llvm.memset.p0.i32(ptr %p, i8 15, i32 4, i1 false)
1346e6d925bcSTing Wang  ret void
1347e6d925bcSTing Wang}
1348e6d925bcSTing Wang
1349e6d925bcSTing Wangdefine dso_local void @memsetTailV0B1(ptr nocapture noundef writeonly %p) local_unnamed_addr {
1350e6d925bcSTing Wang; P8-BE-LABEL: memsetTailV0B1:
1351e6d925bcSTing Wang; P8-BE:       # %bb.0: # %entry
1352e6d925bcSTing Wang; P8-BE-NEXT:    li 4, -91
1353e6d925bcSTing Wang; P8-BE-NEXT:    stb 4, 0(3)
1354e6d925bcSTing Wang; P8-BE-NEXT:    blr
1355e6d925bcSTing Wang;
1356e6d925bcSTing Wang; P9-BE-LABEL: memsetTailV0B1:
1357e6d925bcSTing Wang; P9-BE:       # %bb.0: # %entry
1358e6d925bcSTing Wang; P9-BE-NEXT:    li 4, -91
1359e6d925bcSTing Wang; P9-BE-NEXT:    stb 4, 0(3)
1360e6d925bcSTing Wang; P9-BE-NEXT:    blr
1361e6d925bcSTing Wang;
1362e6d925bcSTing Wang; P10-BE-LABEL: memsetTailV0B1:
1363e6d925bcSTing Wang; P10-BE:       # %bb.0: # %entry
1364e6d925bcSTing Wang; P10-BE-NEXT:    li 4, -91
1365e6d925bcSTing Wang; P10-BE-NEXT:    stb 4, 0(3)
1366e6d925bcSTing Wang; P10-BE-NEXT:    blr
1367e6d925bcSTing Wang;
1368e6d925bcSTing Wang; P8-LE-LABEL: memsetTailV0B1:
1369e6d925bcSTing Wang; P8-LE:       # %bb.0: # %entry
1370e6d925bcSTing Wang; P8-LE-NEXT:    li 4, -91
1371e6d925bcSTing Wang; P8-LE-NEXT:    stb 4, 0(3)
1372e6d925bcSTing Wang; P8-LE-NEXT:    blr
1373e6d925bcSTing Wang;
1374e6d925bcSTing Wang; P9-LE-LABEL: memsetTailV0B1:
1375e6d925bcSTing Wang; P9-LE:       # %bb.0: # %entry
1376e6d925bcSTing Wang; P9-LE-NEXT:    li 4, -91
1377e6d925bcSTing Wang; P9-LE-NEXT:    stb 4, 0(3)
1378e6d925bcSTing Wang; P9-LE-NEXT:    blr
1379e6d925bcSTing Wang;
1380e6d925bcSTing Wang; P10-LE-LABEL: memsetTailV0B1:
1381e6d925bcSTing Wang; P10-LE:       # %bb.0: # %entry
1382e6d925bcSTing Wang; P10-LE-NEXT:    li 4, -91
1383e6d925bcSTing Wang; P10-LE-NEXT:    stb 4, 0(3)
1384e6d925bcSTing Wang; P10-LE-NEXT:    blr
1385e6d925bcSTing Wangentry:
1386e6d925bcSTing Wang  tail call void @llvm.memset.p0.i64(ptr %p, i8 165, i64 1, i1 false)
1387e6d925bcSTing Wang  ret void
1388e6d925bcSTing Wang}
1389e6d925bcSTing Wang
1390e6d925bcSTing Wangdeclare void @llvm.memset.p0.i32(ptr nocapture writeonly, i8, i32, i1 immarg)
1391e6d925bcSTing Wangdeclare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
1392