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