xref: /llvm-project/llvm/test/CodeGen/VE/Vector/load_stk_ldvm.ll (revision 469044cfd355d34573643a57b5d2a78a9c341327)
1*469044cfSKazushi (Jam) Marukawa; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2*469044cfSKazushi (Jam) Marukawa; RUN: llc < %s -mtriple=ve -mattr=+vpu | FileCheck %s
3*469044cfSKazushi (Jam) Marukawa
4*469044cfSKazushi (Jam) Marukawa;;; Test store instructions
5*469044cfSKazushi (Jam) Marukawa;;;
6*469044cfSKazushi (Jam) Marukawa;;; Note:
7*469044cfSKazushi (Jam) Marukawa;;;   We test store instructions using general stack, stack with dynamic
8*469044cfSKazushi (Jam) Marukawa;;;   allocation, stack with dynamic allocation and alignment, and stack
9*469044cfSKazushi (Jam) Marukawa;;;   with dynamic allocation, alignment, and spill.
10*469044cfSKazushi (Jam) Marukawa;;;
11*469044cfSKazushi (Jam) Marukawa;;; Fist test using a stack for leaf function.
12*469044cfSKazushi (Jam) Marukawa;;;
13*469044cfSKazushi (Jam) Marukawa;;;   |                                              | Higher address
14*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- old sp
15*469044cfSKazushi (Jam) Marukawa;;;   | Local variables of fixed size                |
16*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- sp
17*469044cfSKazushi (Jam) Marukawa;;;   |                                              | Lower address
18*469044cfSKazushi (Jam) Marukawa;;;
19*469044cfSKazushi (Jam) Marukawa;;; Access local variable using sp (%s11).  In addition, please remember
20*469044cfSKazushi (Jam) Marukawa;;; that stack is aligned by 16 bytes.
21*469044cfSKazushi (Jam) Marukawa;;;
22*469044cfSKazushi (Jam) Marukawa;;; Second test using a general stack.
23*469044cfSKazushi (Jam) Marukawa;;;
24*469044cfSKazushi (Jam) Marukawa;;;   |                                              | Higher address
25*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
26*469044cfSKazushi (Jam) Marukawa;;;   | Parameter area for this function             |
27*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
28*469044cfSKazushi (Jam) Marukawa;;;   | Register save area (RSA) for this function   |
29*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
30*469044cfSKazushi (Jam) Marukawa;;;   | Return address for this function             |
31*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
32*469044cfSKazushi (Jam) Marukawa;;;   | Frame pointer for this function              |
33*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- fp(=old sp)
34*469044cfSKazushi (Jam) Marukawa;;;   | Local variables of fixed size                |
35*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
36*469044cfSKazushi (Jam) Marukawa;;;   |.variable-sized.local.variables.(VLAs)........|
37*469044cfSKazushi (Jam) Marukawa;;;   |..............................................|
38*469044cfSKazushi (Jam) Marukawa;;;   |..............................................|
39*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- returned by alloca
40*469044cfSKazushi (Jam) Marukawa;;;   | Parameter area for callee                    |
41*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
42*469044cfSKazushi (Jam) Marukawa;;;   | Register save area (RSA) for callee          |
43*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
44*469044cfSKazushi (Jam) Marukawa;;;   | Return address for callee                    |
45*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
46*469044cfSKazushi (Jam) Marukawa;;;   | Frame pointer for callee                     |
47*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- sp
48*469044cfSKazushi (Jam) Marukawa;;;   |                                              | Lower address
49*469044cfSKazushi (Jam) Marukawa;;;
50*469044cfSKazushi (Jam) Marukawa;;; Access local variable using fp (%s9) since the size of VLA is not
51*469044cfSKazushi (Jam) Marukawa;;; known.  At the beginning of the functions, allocates 240 + data
52*469044cfSKazushi (Jam) Marukawa;;; bytes.  240 means RSA+RA+FP (=176) + Parameter (=64).
53*469044cfSKazushi (Jam) Marukawa;;;
54*469044cfSKazushi (Jam) Marukawa;;; Third test using a general stack.
55*469044cfSKazushi (Jam) Marukawa;;;
56*469044cfSKazushi (Jam) Marukawa;;;   |                                              | Higher address
57*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
58*469044cfSKazushi (Jam) Marukawa;;;   | Parameter area for this function             |
59*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
60*469044cfSKazushi (Jam) Marukawa;;;   | Register save area (RSA) for this function   |
61*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
62*469044cfSKazushi (Jam) Marukawa;;;   | Return address for this function             |
63*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
64*469044cfSKazushi (Jam) Marukawa;;;   | Frame pointer for this function              |
65*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- fp(=old sp)
66*469044cfSKazushi (Jam) Marukawa;;;   |.empty.space.to.make.part.below.aligned.in....|
67*469044cfSKazushi (Jam) Marukawa;;;   |.case.it.needs.more.than.the.standard.16-byte.| (size of this area is
68*469044cfSKazushi (Jam) Marukawa;;;   |.alignment....................................|  unknown at compile time)
69*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
70*469044cfSKazushi (Jam) Marukawa;;;   | Local variables of fixed size including spill|
71*469044cfSKazushi (Jam) Marukawa;;;   | slots                                        |
72*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- bp(not defined by ABI,
73*469044cfSKazushi (Jam) Marukawa;;;   |.variable-sized.local.variables.(VLAs)........|       LLVM chooses SX17)
74*469044cfSKazushi (Jam) Marukawa;;;   |..............................................| (size of this area is
75*469044cfSKazushi (Jam) Marukawa;;;   |..............................................|  unknown at compile time)
76*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- stack top (returned by
77*469044cfSKazushi (Jam) Marukawa;;;   | Parameter area for callee                    |               alloca)
78*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
79*469044cfSKazushi (Jam) Marukawa;;;   | Register save area (RSA) for callee          |
80*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
81*469044cfSKazushi (Jam) Marukawa;;;   | Return address for callee                    |
82*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------|
83*469044cfSKazushi (Jam) Marukawa;;;   | Frame pointer for callee                     |
84*469044cfSKazushi (Jam) Marukawa;;;   |----------------------------------------------| <- sp
85*469044cfSKazushi (Jam) Marukawa;;;   |                                              | Lower address
86*469044cfSKazushi (Jam) Marukawa;;;
87*469044cfSKazushi (Jam) Marukawa;;; Access local variable using bp (%s17) since the size of alignment
88*469044cfSKazushi (Jam) Marukawa;;; and VLA are not known.  At the beginning of the functions, allocates
89*469044cfSKazushi (Jam) Marukawa;;; pad(240 + data + align) bytes.  Then, access data through bp + pad(240)
90*469044cfSKazushi (Jam) Marukawa;;; since this address doesn't change even if VLA is dynamically allocated.
91*469044cfSKazushi (Jam) Marukawa;;;
92*469044cfSKazushi (Jam) Marukawa;;; Fourth test using a general stack with some spills.
93*469044cfSKazushi (Jam) Marukawa;;;
94*469044cfSKazushi (Jam) Marukawa
95*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
96*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk() {
97*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk:
98*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
99*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
100*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
101*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
102*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -224(, %s11)
103*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
104*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB0_2
105*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
106*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
107*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
108*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
109*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
110*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
111*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
112*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
113*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
114*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB0_2:
115*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 192(, %s11)
116*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
117*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 200(, %s11)
118*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
119*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 208(, %s11)
120*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
121*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 216(, %s11)
122*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
123*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
124*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
125*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
126*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
127*469044cfSKazushi (Jam) Marukawa  %1 = alloca <256 x i1>, align 32
128*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %1)
129*469044cfSKazushi (Jam) Marukawa  %2 = load volatile <256 x i1>, ptr %1, align 32
130*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1)
131*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %2
132*469044cfSKazushi (Jam) Marukawa}
133*469044cfSKazushi (Jam) Marukawa
134*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nocallback nofree nosync nounwind willreturn
135*469044cfSKazushi (Jam) Marukawadeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
136*469044cfSKazushi (Jam) Marukawa
137*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nocallback nofree nosync nounwind willreturn
138*469044cfSKazushi (Jam) Marukawadeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
139*469044cfSKazushi (Jam) Marukawa
140*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly nofree nounwind
141*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk_big_fit() {
142*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk_big_fit:
143*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
144*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
145*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
146*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
147*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -2147483648(, %s11)
148*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
149*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l %s11, %s8, .LBB1_4
150*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.3:
151*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
152*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
153*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
154*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
155*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
156*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
157*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
158*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
159*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB1_4:
160*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483616(, %s11)
161*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
162*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483624(, %s11)
163*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
164*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483632(, %s11)
165*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
166*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483640(, %s11)
167*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
168*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, (0)1
169*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, 2147483424
170*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB1_1: # =>This Inner Loop Header: Depth=1
171*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s2, 192(%s0, %s11)
172*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 8(, %s0)
173*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brne.l %s0, %s1, .LBB1_1
174*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.2:
175*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
176*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
177*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
178*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
179*469044cfSKazushi (Jam) Marukawa  %1 = alloca <256 x i1>, align 32
180*469044cfSKazushi (Jam) Marukawa  %2 = alloca [268435428 x i64], align 8
181*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %1)
182*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 2147483424, ptr nonnull %2)
183*469044cfSKazushi (Jam) Marukawa  %3 = load volatile <256 x i1>, ptr %1, align 32
184*469044cfSKazushi (Jam) Marukawa  br label %5
185*469044cfSKazushi (Jam) Marukawa
186*469044cfSKazushi (Jam) Marukawa4:                                                ; preds = %5
187*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 2147483424, ptr nonnull %2)
188*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1)
189*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %3
190*469044cfSKazushi (Jam) Marukawa
191*469044cfSKazushi (Jam) Marukawa5:                                                ; preds = %0, %5
192*469044cfSKazushi (Jam) Marukawa  %6 = phi i64 [ 0, %0 ], [ %9, %5 ]
193*469044cfSKazushi (Jam) Marukawa  %7 = getelementptr inbounds [268435428 x i64], ptr %2, i64 0, i64 %6
194*469044cfSKazushi (Jam) Marukawa  %8 = load volatile i64, ptr %7, align 8, !tbaa !3
195*469044cfSKazushi (Jam) Marukawa  %9 = add nuw nsw i64 %6, 1
196*469044cfSKazushi (Jam) Marukawa  %10 = icmp eq i64 %9, 268435428
197*469044cfSKazushi (Jam) Marukawa  br i1 %10, label %4, label %5, !llvm.loop !7
198*469044cfSKazushi (Jam) Marukawa}
199*469044cfSKazushi (Jam) Marukawa
200*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly nofree nounwind
201*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk_big() {
202*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk_big:
203*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
204*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
205*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
206*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
207*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, 2147483616
208*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
209*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s11, -1(%s13, %s11)
210*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
211*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l %s11, %s8, .LBB2_4
212*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.3:
213*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
214*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
215*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
216*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
217*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
218*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
219*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
220*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
221*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB2_4:
222*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, -2147483648
223*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
224*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s13, (%s11, %s13)
225*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, (, %s13)
226*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
227*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 8(, %s13)
228*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
229*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 16(, %s13)
230*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
231*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 24(, %s13)
232*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
233*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, (0)1
234*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, 2147483432
235*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB2_1: # =>This Inner Loop Header: Depth=1
236*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s2, 216(%s0, %s11)
237*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 8(, %s0)
238*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brne.l %s0, %s1, .LBB2_1
239*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.2:
240*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
241*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
242*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
243*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
244*469044cfSKazushi (Jam) Marukawa  %1 = alloca <256 x i1>, align 32
245*469044cfSKazushi (Jam) Marukawa  %2 = alloca [268435429 x i64], align 8
246*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %1)
247*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 2147483432, ptr nonnull %2)
248*469044cfSKazushi (Jam) Marukawa  %3 = load volatile <256 x i1>, ptr %1, align 32
249*469044cfSKazushi (Jam) Marukawa  br label %5
250*469044cfSKazushi (Jam) Marukawa
251*469044cfSKazushi (Jam) Marukawa4:                                                ; preds = %5
252*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 2147483432, ptr nonnull %2)
253*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1)
254*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %3
255*469044cfSKazushi (Jam) Marukawa
256*469044cfSKazushi (Jam) Marukawa5:                                                ; preds = %0, %5
257*469044cfSKazushi (Jam) Marukawa  %6 = phi i64 [ 0, %0 ], [ %9, %5 ]
258*469044cfSKazushi (Jam) Marukawa  %7 = getelementptr inbounds [268435429 x i64], ptr %2, i64 0, i64 %6
259*469044cfSKazushi (Jam) Marukawa  %8 = load volatile i64, ptr %7, align 8, !tbaa !3
260*469044cfSKazushi (Jam) Marukawa  %9 = add nuw nsw i64 %6, 1
261*469044cfSKazushi (Jam) Marukawa  %10 = icmp eq i64 %9, 268435429
262*469044cfSKazushi (Jam) Marukawa  br i1 %10, label %4, label %5, !llvm.loop !9
263*469044cfSKazushi (Jam) Marukawa}
264*469044cfSKazushi (Jam) Marukawa
265*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly nofree nounwind
266*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk_big2() {
267*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk_big2:
268*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
269*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
270*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
271*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
272*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, 2147483424
273*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
274*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s11, -1(%s13, %s11)
275*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
276*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l %s11, %s8, .LBB3_4
277*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.3:
278*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
279*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
280*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
281*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
282*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
283*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
284*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
285*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
286*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB3_4:
287*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, -2147483456
288*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
289*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s13, (%s11, %s13)
290*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, (, %s13)
291*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
292*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 8(, %s13)
293*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
294*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 16(, %s13)
295*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
296*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 24(, %s13)
297*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
298*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, (0)1
299*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, -2147483648
300*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
301*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB3_1: # =>This Inner Loop Header: Depth=1
302*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s2, 192(%s0, %s11)
303*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 8(, %s0)
304*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brne.l %s0, %s1, .LBB3_1
305*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.2:
306*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
307*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
308*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
309*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
310*469044cfSKazushi (Jam) Marukawa  %1 = alloca <256 x i1>, align 32
311*469044cfSKazushi (Jam) Marukawa  %2 = alloca [268435456 x i64], align 8
312*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %1)
313*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 2147483648, ptr nonnull %2)
314*469044cfSKazushi (Jam) Marukawa  %3 = load volatile <256 x i1>, ptr %1, align 32
315*469044cfSKazushi (Jam) Marukawa  br label %5
316*469044cfSKazushi (Jam) Marukawa
317*469044cfSKazushi (Jam) Marukawa4:                                                ; preds = %5
318*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 2147483648, ptr nonnull %2)
319*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1)
320*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %3
321*469044cfSKazushi (Jam) Marukawa
322*469044cfSKazushi (Jam) Marukawa5:                                                ; preds = %0, %5
323*469044cfSKazushi (Jam) Marukawa  %6 = phi i64 [ 0, %0 ], [ %9, %5 ]
324*469044cfSKazushi (Jam) Marukawa  %7 = getelementptr inbounds [268435456 x i64], ptr %2, i64 0, i64 %6
325*469044cfSKazushi (Jam) Marukawa  %8 = load volatile i64, ptr %7, align 8, !tbaa !3
326*469044cfSKazushi (Jam) Marukawa  %9 = add nuw nsw i64 %6, 1
327*469044cfSKazushi (Jam) Marukawa  %10 = icmp eq i64 %9, 268435456
328*469044cfSKazushi (Jam) Marukawa  br i1 %10, label %4, label %5, !llvm.loop !10
329*469044cfSKazushi (Jam) Marukawa}
330*469044cfSKazushi (Jam) Marukawa
331*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
332*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk_dyn(i64 noundef %0) {
333*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk_dyn:
334*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
335*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
336*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
337*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
338*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -272(, %s11)
339*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB4_2
340*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
341*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
342*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
343*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
344*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
345*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
346*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
347*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
348*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
349*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB4_2:
350*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    sll %s0, %s0, 5
351*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
352*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
353*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
354*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
355*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
356*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
357*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
358*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
359*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
360*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, -32(, %s9)
361*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
362*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, -24(, %s9)
363*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
364*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, -16(, %s9)
365*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
366*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, -8(, %s9)
367*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
368*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
369*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
370*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
371*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
372*469044cfSKazushi (Jam) Marukawa  %2 = alloca <256 x i1>, align 8
373*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2)
374*469044cfSKazushi (Jam) Marukawa  %3 = alloca <256 x i1>, i64 %0, align 8
375*469044cfSKazushi (Jam) Marukawa  %4 = load volatile <256 x i1>, ptr %3, align 32
376*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <256 x i1>, ptr %2, align 32
377*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2)
378*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %5
379*469044cfSKazushi (Jam) Marukawa}
380*469044cfSKazushi (Jam) Marukawa
381*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
382*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk_dyn_align(i64 noundef %0) {
383*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk_dyn_align:
384*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
385*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
386*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
387*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s17, 40(, %s11)
388*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
389*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -288(, %s11)
390*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
391*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s17, 0, %s11
392*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB5_2
393*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
394*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
395*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
396*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
397*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
398*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
399*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
400*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
401*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
402*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB5_2:
403*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    sll %s0, %s0, 5
404*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
405*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
406*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
407*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
408*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
409*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
410*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
411*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
412*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
413*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 256(, %s17)
414*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
415*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 264(, %s17)
416*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
417*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 272(, %s17)
418*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
419*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 280(, %s17)
420*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
421*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
422*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s17, 40(, %s11)
423*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
424*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
425*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
426*469044cfSKazushi (Jam) Marukawa  %2 = alloca <256 x i1>, align 32
427*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2)
428*469044cfSKazushi (Jam) Marukawa  %3 = alloca <256 x i1>, i64 %0, align 8
429*469044cfSKazushi (Jam) Marukawa  %4 = load volatile <256 x i1>, ptr %3, align 32
430*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <256 x i1>, ptr %2, align 32
431*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2)
432*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %5
433*469044cfSKazushi (Jam) Marukawa}
434*469044cfSKazushi (Jam) Marukawa
435*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
436*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk_dyn_align2(i64 noundef %0) {
437*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk_dyn_align2:
438*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
439*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
440*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
441*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s17, 40(, %s11)
442*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
443*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -320(, %s11)
444*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (58)1
445*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s17, 0, %s11
446*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB6_2
447*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
448*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
449*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
450*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
451*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
452*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
453*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
454*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
455*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
456*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB6_2:
457*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    sll %s0, %s0, 5
458*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
459*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
460*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
461*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
462*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
463*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
464*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
465*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
466*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
467*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 288(, %s17)
468*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
469*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 296(, %s17)
470*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
471*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 304(, %s17)
472*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
473*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 312(, %s17)
474*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
475*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 256(, %s17)
476*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
477*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 264(, %s17)
478*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
479*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 272(, %s17)
480*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
481*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 280(, %s17)
482*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
483*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
484*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s17, 40(, %s11)
485*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
486*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
487*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
488*469044cfSKazushi (Jam) Marukawa  %2 = alloca <256 x i1>, align 32
489*469044cfSKazushi (Jam) Marukawa  %3 = alloca <256 x i1>, align 64
490*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2)
491*469044cfSKazushi (Jam) Marukawa  %4 = alloca <256 x i1>, i64 %0, align 8
492*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <256 x i1>, ptr %4, align 32
493*469044cfSKazushi (Jam) Marukawa  %6 = load volatile <256 x i1>, ptr %2, align 32
494*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3)
495*469044cfSKazushi (Jam) Marukawa  %7 = load volatile <256 x i1>, ptr %3, align 64
496*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3)
497*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2)
498*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %6
499*469044cfSKazushi (Jam) Marukawa}
500*469044cfSKazushi (Jam) Marukawa
501*469044cfSKazushi (Jam) Marukawa; Function Attrs: nounwind
502*469044cfSKazushi (Jam) Marukawadefine fastcc <256 x i1> @load__vm256_stk_dyn_align_spill(i64 noundef %0) {
503*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm256_stk_dyn_align_spill:
504*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
505*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
506*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
507*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s17, 40(, %s11)
508*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
509*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -320(, %s11)
510*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
511*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s17, 0, %s11
512*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB7_2
513*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
514*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
515*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
516*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
517*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
518*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
519*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
520*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
521*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
522*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB7_2:
523*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s18, 48(, %s9) # 8-byte Folded Spill
524*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s18, 0, %s0
525*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 15(, %s0)
526*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s0, -16, %s0
527*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
528*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
529*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
530*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
531*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
532*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
533*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
534*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
535*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
536*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 288(, %s17)
537*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
538*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 296(, %s17)
539*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
540*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 304(, %s17)
541*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
542*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 312(, %s17)
543*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
544*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm1, 0
545*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 256(, %s17)
546*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm1, 1
547*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 264(, %s17)
548*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm1, 2
549*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 272(, %s17)
550*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm1, 3
551*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 280(, %s17) # 32-byte Folded Spill
552*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, dummy@lo
553*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s0, %s0, (32)0
554*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, dummy@hi(, %s0)
555*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
556*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, pass@lo
557*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s0, %s0, (32)0
558*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, pass@hi(, %s0)
559*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s18
560*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
561*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 256(, %s17)
562*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 0, %s16
563*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 264(, %s17)
564*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 1, %s16
565*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 272(, %s17)
566*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 2, %s16
567*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 280(, %s17) # 32-byte Folded Reload
568*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm1, 3, %s16
569*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s18, 48(, %s9) # 8-byte Folded Reload
570*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
571*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s17, 40(, %s11)
572*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
573*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
574*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
575*469044cfSKazushi (Jam) Marukawa  %2 = alloca <256 x i1>, align 32
576*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2)
577*469044cfSKazushi (Jam) Marukawa  %3 = alloca i8, i64 %0, align 8
578*469044cfSKazushi (Jam) Marukawa  %4 = load volatile <256 x i1>, ptr %3, align 32
579*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <256 x i1>, ptr %2, align 32
580*469044cfSKazushi (Jam) Marukawa  tail call fastcc void @dummy()
581*469044cfSKazushi (Jam) Marukawa  tail call fastcc void @pass(i64 noundef %0)
582*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2)
583*469044cfSKazushi (Jam) Marukawa  ret <256 x i1> %5
584*469044cfSKazushi (Jam) Marukawa}
585*469044cfSKazushi (Jam) Marukawa
586*469044cfSKazushi (Jam) Marukawadeclare fastcc void @dummy()
587*469044cfSKazushi (Jam) Marukawa
588*469044cfSKazushi (Jam) Marukawadeclare fastcc void @pass(i64 noundef)
589*469044cfSKazushi (Jam) Marukawa
590*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
591*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk() {
592*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk:
593*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
594*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
595*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
596*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
597*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -256(, %s11)
598*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (58)1
599*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB8_2
600*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
601*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
602*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
603*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
604*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
605*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
606*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
607*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
608*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
609*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB8_2:
610*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
611*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 192(, %s11)
612*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
613*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 200(, %s11)
614*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
615*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 208(, %s11)
616*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
617*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 216(, %s11)
618*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
619*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 224(, %s11)
620*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
621*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 232(, %s11)
622*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
623*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 240(, %s11)
624*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
625*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 248(, %s11)
626*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
627*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
628*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
629*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
630*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
631*469044cfSKazushi (Jam) Marukawa  %1 = alloca <512 x i1>, align 64
632*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %1)
633*469044cfSKazushi (Jam) Marukawa  %2 = load volatile <512 x i1>, ptr %1, align 64
634*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1)
635*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %2
636*469044cfSKazushi (Jam) Marukawa}
637*469044cfSKazushi (Jam) Marukawa
638*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly nofree nounwind
639*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk_big_fit() {
640*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk_big_fit:
641*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
642*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
643*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
644*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
645*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -2147483648(, %s11)
646*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (58)1
647*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l %s11, %s8, .LBB9_4
648*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.3:
649*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
650*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
651*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
652*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
653*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
654*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
655*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
656*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
657*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB9_4:
658*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
659*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483584(, %s11)
660*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
661*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483592(, %s11)
662*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
663*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483600(, %s11)
664*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
665*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483608(, %s11)
666*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
667*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483616(, %s11)
668*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
669*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483624(, %s11)
670*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
671*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483632(, %s11)
672*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
673*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 2147483640(, %s11)
674*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
675*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, (0)1
676*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, 2147483392
677*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB9_1: # =>This Inner Loop Header: Depth=1
678*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s2, 192(%s0, %s11)
679*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 8(, %s0)
680*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brne.l %s0, %s1, .LBB9_1
681*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.2:
682*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
683*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
684*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
685*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
686*469044cfSKazushi (Jam) Marukawa  %1 = alloca <512 x i1>, align 64
687*469044cfSKazushi (Jam) Marukawa  %2 = alloca [268435424 x i64], align 8
688*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %1)
689*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 2147483392, ptr nonnull %2)
690*469044cfSKazushi (Jam) Marukawa  %3 = load volatile <512 x i1>, ptr %1, align 64
691*469044cfSKazushi (Jam) Marukawa  br label %5
692*469044cfSKazushi (Jam) Marukawa
693*469044cfSKazushi (Jam) Marukawa4:                                                ; preds = %5
694*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 2147483392, ptr nonnull %2)
695*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1)
696*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %3
697*469044cfSKazushi (Jam) Marukawa
698*469044cfSKazushi (Jam) Marukawa5:                                                ; preds = %0, %5
699*469044cfSKazushi (Jam) Marukawa  %6 = phi i64 [ 0, %0 ], [ %9, %5 ]
700*469044cfSKazushi (Jam) Marukawa  %7 = getelementptr inbounds [268435424 x i64], ptr %2, i64 0, i64 %6
701*469044cfSKazushi (Jam) Marukawa  %8 = load volatile i64, ptr %7, align 8, !tbaa !3
702*469044cfSKazushi (Jam) Marukawa  %9 = add nuw nsw i64 %6, 1
703*469044cfSKazushi (Jam) Marukawa  %10 = icmp eq i64 %9, 268435424
704*469044cfSKazushi (Jam) Marukawa  br i1 %10, label %4, label %5, !llvm.loop !11
705*469044cfSKazushi (Jam) Marukawa}
706*469044cfSKazushi (Jam) Marukawa
707*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly nofree nounwind
708*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk_big() {
709*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk_big:
710*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
711*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
712*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
713*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
714*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, 2147483584
715*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
716*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s11, -1(%s13, %s11)
717*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (58)1
718*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l %s11, %s8, .LBB10_4
719*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.3:
720*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
721*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
722*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
723*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
724*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
725*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
726*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
727*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
728*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB10_4:
729*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, -2147483648
730*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
731*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s13, (%s11, %s13)
732*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
733*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, (, %s13)
734*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
735*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 8(, %s13)
736*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
737*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 16(, %s13)
738*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
739*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 24(, %s13)
740*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
741*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 32(, %s13)
742*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
743*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 40(, %s13)
744*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
745*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 48(, %s13)
746*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
747*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 56(, %s13)
748*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
749*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, (0)1
750*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, 2147483400
751*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB10_1: # =>This Inner Loop Header: Depth=1
752*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s2, 248(%s0, %s11)
753*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 8(, %s0)
754*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brne.l %s0, %s1, .LBB10_1
755*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.2:
756*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
757*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
758*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
759*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
760*469044cfSKazushi (Jam) Marukawa  %1 = alloca <512 x i1>, align 64
761*469044cfSKazushi (Jam) Marukawa  %2 = alloca [268435425 x i64], align 8
762*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %1)
763*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 2147483400, ptr nonnull %2)
764*469044cfSKazushi (Jam) Marukawa  %3 = load volatile <512 x i1>, ptr %1, align 64
765*469044cfSKazushi (Jam) Marukawa  br label %5
766*469044cfSKazushi (Jam) Marukawa
767*469044cfSKazushi (Jam) Marukawa4:                                                ; preds = %5
768*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 2147483400, ptr nonnull %2)
769*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1)
770*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %3
771*469044cfSKazushi (Jam) Marukawa
772*469044cfSKazushi (Jam) Marukawa5:                                                ; preds = %0, %5
773*469044cfSKazushi (Jam) Marukawa  %6 = phi i64 [ 0, %0 ], [ %9, %5 ]
774*469044cfSKazushi (Jam) Marukawa  %7 = getelementptr inbounds [268435425 x i64], ptr %2, i64 0, i64 %6
775*469044cfSKazushi (Jam) Marukawa  %8 = load volatile i64, ptr %7, align 8, !tbaa !3
776*469044cfSKazushi (Jam) Marukawa  %9 = add nuw nsw i64 %6, 1
777*469044cfSKazushi (Jam) Marukawa  %10 = icmp eq i64 %9, 268435425
778*469044cfSKazushi (Jam) Marukawa  br i1 %10, label %4, label %5, !llvm.loop !12
779*469044cfSKazushi (Jam) Marukawa}
780*469044cfSKazushi (Jam) Marukawa
781*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly nofree nounwind
782*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk_big2() {
783*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk_big2:
784*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
785*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
786*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
787*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
788*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, 2147483392
789*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
790*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s11, -1(%s13, %s11)
791*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (58)1
792*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l %s11, %s8, .LBB11_4
793*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.3:
794*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
795*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
796*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
797*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
798*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
799*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
800*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
801*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
802*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB11_4:
803*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s13, -2147483456
804*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s13, %s13, (32)0
805*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s13, (%s11, %s13)
806*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
807*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, (, %s13)
808*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
809*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 8(, %s13)
810*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
811*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 16(, %s13)
812*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
813*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 24(, %s13)
814*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
815*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 32(, %s13)
816*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
817*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 40(, %s13)
818*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
819*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 48(, %s13)
820*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
821*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 56(, %s13)
822*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
823*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, (0)1
824*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, -2147483648
825*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
826*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB11_1: # =>This Inner Loop Header: Depth=1
827*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s2, 192(%s0, %s11)
828*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 8(, %s0)
829*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brne.l %s0, %s1, .LBB11_1
830*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.2:
831*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
832*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
833*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
834*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
835*469044cfSKazushi (Jam) Marukawa  %1 = alloca <512 x i1>, align 64
836*469044cfSKazushi (Jam) Marukawa  %2 = alloca [268435456 x i64], align 8
837*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %1)
838*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 2147483648, ptr nonnull %2)
839*469044cfSKazushi (Jam) Marukawa  %3 = load volatile <512 x i1>, ptr %1, align 64
840*469044cfSKazushi (Jam) Marukawa  br label %5
841*469044cfSKazushi (Jam) Marukawa
842*469044cfSKazushi (Jam) Marukawa4:                                                ; preds = %5
843*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 2147483648, ptr nonnull %2)
844*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1)
845*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %3
846*469044cfSKazushi (Jam) Marukawa
847*469044cfSKazushi (Jam) Marukawa5:                                                ; preds = %0, %5
848*469044cfSKazushi (Jam) Marukawa  %6 = phi i64 [ 0, %0 ], [ %9, %5 ]
849*469044cfSKazushi (Jam) Marukawa  %7 = getelementptr inbounds [268435456 x i64], ptr %2, i64 0, i64 %6
850*469044cfSKazushi (Jam) Marukawa  %8 = load volatile i64, ptr %7, align 8, !tbaa !3
851*469044cfSKazushi (Jam) Marukawa  %9 = add nuw nsw i64 %6, 1
852*469044cfSKazushi (Jam) Marukawa  %10 = icmp eq i64 %9, 268435456
853*469044cfSKazushi (Jam) Marukawa  br i1 %10, label %4, label %5, !llvm.loop !13
854*469044cfSKazushi (Jam) Marukawa}
855*469044cfSKazushi (Jam) Marukawa
856*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
857*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk_dyn(i64 noundef %0) {
858*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk_dyn:
859*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
860*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
861*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
862*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s17, 40(, %s11)
863*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
864*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -320(, %s11)
865*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (58)1
866*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s17, 0, %s11
867*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB12_2
868*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
869*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
870*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
871*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
872*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
873*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
874*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
875*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
876*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
877*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB12_2:
878*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    sll %s0, %s0, 6
879*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
880*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
881*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
882*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
883*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
884*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 56(, %s0)
885*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 48(, %s0)
886*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 40(, %s0)
887*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 32(, %s0)
888*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
889*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
890*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
891*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
892*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
893*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 256(, %s17)
894*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
895*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 264(, %s17)
896*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
897*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 272(, %s17)
898*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
899*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 280(, %s17)
900*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
901*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 288(, %s17)
902*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
903*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 296(, %s17)
904*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
905*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 304(, %s17)
906*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
907*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 312(, %s17)
908*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
909*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
910*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s17, 40(, %s11)
911*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
912*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
913*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
914*469044cfSKazushi (Jam) Marukawa  %2 = alloca <512 x i1>, align 64
915*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %2)
916*469044cfSKazushi (Jam) Marukawa  %3 = alloca <512 x i1>, i64 %0, align 8
917*469044cfSKazushi (Jam) Marukawa  %4 = load volatile <512 x i1>, ptr %3, align 64
918*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <512 x i1>, ptr %2, align 64
919*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %2)
920*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %5
921*469044cfSKazushi (Jam) Marukawa}
922*469044cfSKazushi (Jam) Marukawa
923*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
924*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk_dyn_align(i64 noundef %0) {
925*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk_dyn_align:
926*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
927*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
928*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
929*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s17, 40(, %s11)
930*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
931*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -320(, %s11)
932*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
933*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s17, 0, %s11
934*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB13_2
935*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
936*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
937*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
938*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
939*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
940*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
941*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
942*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
943*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
944*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB13_2:
945*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    sll %s0, %s0, 6
946*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
947*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
948*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
949*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
950*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
951*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 56(, %s0)
952*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 48(, %s0)
953*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 40(, %s0)
954*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 32(, %s0)
955*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
956*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
957*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
958*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
959*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
960*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 256(, %s17)
961*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
962*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 264(, %s17)
963*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
964*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 272(, %s17)
965*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
966*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 280(, %s17)
967*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
968*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 288(, %s17)
969*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
970*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 296(, %s17)
971*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
972*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 304(, %s17)
973*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
974*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 312(, %s17)
975*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
976*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
977*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s17, 40(, %s11)
978*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
979*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
980*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
981*469044cfSKazushi (Jam) Marukawa  %2 = alloca <512 x i1>, align 32
982*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %2)
983*469044cfSKazushi (Jam) Marukawa  %3 = alloca <512 x i1>, i64 %0, align 8
984*469044cfSKazushi (Jam) Marukawa  %4 = load volatile <512 x i1>, ptr %3, align 64
985*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <512 x i1>, ptr %2, align 32
986*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %2)
987*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %5
988*469044cfSKazushi (Jam) Marukawa}
989*469044cfSKazushi (Jam) Marukawa
990*469044cfSKazushi (Jam) Marukawa; Function Attrs: argmemonly mustprogress nofree nounwind willreturn
991*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk_dyn_align2(i64 noundef %0) {
992*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk_dyn_align2:
993*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
994*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
995*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
996*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s17, 40(, %s11)
997*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
998*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -384(, %s11)
999*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (58)1
1000*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s17, 0, %s11
1001*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB14_2
1002*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
1003*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
1004*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
1005*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
1006*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
1007*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
1008*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
1009*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
1010*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
1011*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB14_2:
1012*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    sll %s0, %s0, 6
1013*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
1014*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
1015*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
1016*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
1017*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
1018*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 56(, %s0)
1019*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 48(, %s0)
1020*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 40(, %s0)
1021*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 32(, %s0)
1022*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
1023*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
1024*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
1025*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
1026*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
1027*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 320(, %s17)
1028*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
1029*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 328(, %s17)
1030*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
1031*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 336(, %s17)
1032*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
1033*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 344(, %s17)
1034*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
1035*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 352(, %s17)
1036*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
1037*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 360(, %s17)
1038*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
1039*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 368(, %s17)
1040*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
1041*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 376(, %s17)
1042*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
1043*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp2
1044*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 256(, %s17)
1045*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm5, 0, %s16
1046*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 264(, %s17)
1047*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm5, 1, %s16
1048*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 272(, %s17)
1049*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm5, 2, %s16
1050*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 280(, %s17)
1051*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm5, 3, %s16
1052*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 288(, %s17)
1053*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm4, 0, %s16
1054*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 296(, %s17)
1055*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm4, 1, %s16
1056*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 304(, %s17)
1057*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm4, 2, %s16
1058*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 312(, %s17)
1059*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm4, 3, %s16
1060*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
1061*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s17, 40(, %s11)
1062*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
1063*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
1064*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
1065*469044cfSKazushi (Jam) Marukawa  %2 = alloca <512 x i1>, align 32
1066*469044cfSKazushi (Jam) Marukawa  %3 = alloca <512 x i1>, align 64
1067*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %2)
1068*469044cfSKazushi (Jam) Marukawa  %4 = alloca <512 x i1>, i64 %0, align 8
1069*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <512 x i1>, ptr %4, align 64
1070*469044cfSKazushi (Jam) Marukawa  %6 = load volatile <512 x i1>, ptr %2, align 32
1071*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3)
1072*469044cfSKazushi (Jam) Marukawa  %7 = load volatile <512 x i1>, ptr %3, align 64
1073*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3)
1074*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %2)
1075*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %6
1076*469044cfSKazushi (Jam) Marukawa}
1077*469044cfSKazushi (Jam) Marukawa
1078*469044cfSKazushi (Jam) Marukawa; Function Attrs: nounwind
1079*469044cfSKazushi (Jam) Marukawadefine fastcc <512 x i1> @load__vm512_stk_dyn_align_spill(i64 noundef %0) {
1080*469044cfSKazushi (Jam) Marukawa; CHECK-LABEL: load__vm512_stk_dyn_align_spill:
1081*469044cfSKazushi (Jam) Marukawa; CHECK:       # %bb.0:
1082*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s9, (, %s11)
1083*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s10, 8(, %s11)
1084*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s17, 40(, %s11)
1085*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s9, 0, %s11
1086*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s11, -384(, %s11)
1087*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s11, %s11, (59)1
1088*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s17, 0, %s11
1089*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    brge.l.t %s11, %s8, .LBB15_2
1090*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  # %bb.1:
1091*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s61, 24(, %s14)
1092*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s62, 0, %s0
1093*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s63, 315
1094*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s63, (%s61)
1095*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s8, 8(%s61)
1096*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    shm.l %s11, 16(%s61)
1097*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    monc
1098*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s62
1099*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:  .LBB15_2:
1100*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s18, 48(, %s9) # 8-byte Folded Spill
1101*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s18, 0, %s0
1102*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    sll %s0, %s0, 6
1103*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s1, __ve_grow_stack@lo
1104*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s1, %s1, (32)0
1105*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, __ve_grow_stack@hi(, %s1)
1106*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
1107*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, 240(, %s11)
1108*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 56(, %s0)
1109*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 48(, %s0)
1110*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 40(, %s0)
1111*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 32(, %s0)
1112*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 24(, %s0)
1113*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 16(, %s0)
1114*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s1, 8(, %s0)
1115*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s0, (, %s0)
1116*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
1117*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 320(, %s17)
1118*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
1119*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 328(, %s17)
1120*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
1121*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 336(, %s17)
1122*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
1123*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 344(, %s17)
1124*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
1125*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 352(, %s17)
1126*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
1127*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 360(, %s17)
1128*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
1129*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 368(, %s17)
1130*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
1131*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 376(, %s17)
1132*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
1133*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm3, 0
1134*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 256(, %s17)
1135*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm3, 1
1136*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 264(, %s17)
1137*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm3, 2
1138*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 272(, %s17)
1139*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm3, 3
1140*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 280(, %s17)
1141*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm2, 0
1142*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 288(, %s17)
1143*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm2, 1
1144*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 296(, %s17)
1145*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm2, 2
1146*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 304(, %s17)
1147*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    svm %s16, %vm2, 3
1148*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    st %s16, 312(, %s17) # 64-byte Folded Spill
1149*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, dummy@lo
1150*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s0, %s0, (32)0
1151*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, dummy@hi(, %s0)
1152*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
1153*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea %s0, pass@lo
1154*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    and %s0, %s0, (32)0
1155*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lea.sl %s12, pass@hi(, %s0)
1156*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s0, 0, %s18
1157*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    bsic %s10, (, %s12)
1158*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    # implicit-def: $vmp1
1159*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 256(, %s17)
1160*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 0, %s16
1161*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 264(, %s17)
1162*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 1, %s16
1163*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 272(, %s17)
1164*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 2, %s16
1165*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 280(, %s17)
1166*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm3, 3, %s16
1167*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 288(, %s17)
1168*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 0, %s16
1169*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 296(, %s17)
1170*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 1, %s16
1171*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 304(, %s17)
1172*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 2, %s16
1173*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s16, 312(, %s17) # 64-byte Folded Reload
1174*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    lvm %vm2, 3, %s16
1175*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s18, 48(, %s9) # 8-byte Folded Reload
1176*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    or %s11, 0, %s9
1177*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s17, 40(, %s11)
1178*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s10, 8(, %s11)
1179*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    ld %s9, (, %s11)
1180*469044cfSKazushi (Jam) Marukawa; CHECK-NEXT:    b.l.t (, %s10)
1181*469044cfSKazushi (Jam) Marukawa  %2 = alloca <512 x i1>, align 32
1182*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %2)
1183*469044cfSKazushi (Jam) Marukawa  %3 = alloca <512 x i1>, i64 %0, align 8
1184*469044cfSKazushi (Jam) Marukawa  %4 = load volatile <512 x i1>, ptr %3, align 64
1185*469044cfSKazushi (Jam) Marukawa  %5 = load volatile <512 x i1>, ptr %2, align 32
1186*469044cfSKazushi (Jam) Marukawa  tail call fastcc void @dummy()
1187*469044cfSKazushi (Jam) Marukawa  tail call fastcc void @pass(i64 noundef %0)
1188*469044cfSKazushi (Jam) Marukawa  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %2)
1189*469044cfSKazushi (Jam) Marukawa  ret <512 x i1> %5
1190*469044cfSKazushi (Jam) Marukawa}
1191*469044cfSKazushi (Jam) Marukawa
1192*469044cfSKazushi (Jam) Marukawa!2 = !{!"clang version 15.0.0 (git@kaz7.github.com:sx-aurora-dev/llvm-project.git 50263c9e9cc3714bcd816eaea8822d3e010a0f19)"}
1193*469044cfSKazushi (Jam) Marukawa!3 = !{!4, !4, i64 0}
1194*469044cfSKazushi (Jam) Marukawa!4 = !{!"long", !5, i64 0}
1195*469044cfSKazushi (Jam) Marukawa!5 = !{!"omnipotent char", !6, i64 0}
1196*469044cfSKazushi (Jam) Marukawa!6 = !{!"Simple C/C++ TBAA"}
1197*469044cfSKazushi (Jam) Marukawa!7 = distinct !{!7, !8}
1198*469044cfSKazushi (Jam) Marukawa!8 = !{!"llvm.loop.mustprogress"}
1199*469044cfSKazushi (Jam) Marukawa!9 = distinct !{!9, !8}
1200*469044cfSKazushi (Jam) Marukawa!10 = distinct !{!10, !8}
1201*469044cfSKazushi (Jam) Marukawa!11 = distinct !{!11, !8}
1202*469044cfSKazushi (Jam) Marukawa!12 = distinct !{!12, !8}
1203*469044cfSKazushi (Jam) Marukawa!13 = distinct !{!13, !8}
1204