brintos

brintos / llvm-project-archived public Read only

0
0
Text · 22.2 KiB · 1e5ee2f Raw
697 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s3; PR11034 5target datalayout = "e-p:64:64"6@i6000 = dso_local global [128 x i64] zeroinitializer, align 167 8 9define dso_local void @foo(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5) {10; CHECK-LABEL: foo:11; CHECK:       # %bb.0: # %b12; CHECK-NEXT:    pushq %rbp13; CHECK-NEXT:    .cfi_def_cfa_offset 1614; CHECK-NEXT:    .cfi_offset %rbp, -1615; CHECK-NEXT:    movq %rsp, %rbp16; CHECK-NEXT:    .cfi_def_cfa_register %rbp17; CHECK-NEXT:    movslq (%rdi), %r818; CHECK-NEXT:    movslq (%rsi), %rax19; CHECK-NEXT:    movslq (%rdx), %rsi20; CHECK-NEXT:    movl (%rcx), %edi21; CHECK-NEXT:    movq %rsp, %rcx22; CHECK-NEXT:    subl %r8d, %eax23; CHECK-NEXT:    movslq %eax, %rdx24; CHECK-NEXT:    js .LBB0_125; CHECK-NEXT:  # %bb.11: # %b6326; CHECK-NEXT:    testq %rdx, %rdx27; CHECK-NEXT:    js .LBB0_1428; CHECK-NEXT:  # %bb.12:29; CHECK-NEXT:    xorl %r8d, %r8d30; CHECK-NEXT:    .p2align 431; CHECK-NEXT:  .LBB0_13: # %a25b32; CHECK-NEXT:    # =>This Inner Loop Header: Depth=133; CHECK-NEXT:    testb %r8b, %r8b34; CHECK-NEXT:    je .LBB0_1335; CHECK-NEXT:  .LBB0_14: # %b8536; CHECK-NEXT:    movb $1, %r8b37; CHECK-NEXT:    testb %r8b, %r8b38; CHECK-NEXT:    jne .LBB0_139; CHECK-NEXT:  # %bb.15:40; CHECK-NEXT:    xorl %r8d, %r8d41; CHECK-NEXT:    .p2align 442; CHECK-NEXT:  .LBB0_16: # %a25b14043; CHECK-NEXT:    # =>This Inner Loop Header: Depth=144; CHECK-NEXT:    testb %r8b, %r8b45; CHECK-NEXT:    je .LBB0_1646; CHECK-NEXT:  .LBB0_1: # %a29b47; CHECK-NEXT:    cmpl %esi, %edi48; CHECK-NEXT:    js .LBB0_1049; CHECK-NEXT:  # %bb.2: # %b15850; CHECK-NEXT:    movslq (%r9), %rsi51; CHECK-NEXT:    movl %esi, %edi52; CHECK-NEXT:    orl %eax, %edi53; CHECK-NEXT:    movl %edi, %r8d54; CHECK-NEXT:    shrl $31, %r8d55; CHECK-NEXT:    xorl %r9d, %r9d56; CHECK-NEXT:    xorps %xmm0, %xmm057; CHECK-NEXT:    movb $1, %r10b58; CHECK-NEXT:    jmp .LBB0_359; CHECK-NEXT:    .p2align 460; CHECK-NEXT:  .LBB0_9: # %b160661; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=162; CHECK-NEXT:    testb %r9b, %r9b63; CHECK-NEXT:    je .LBB0_1064; CHECK-NEXT:  .LBB0_3: # %a29b17365; CHECK-NEXT:    # =>This Loop Header: Depth=166; CHECK-NEXT:    # Child Loop BB0_36 Depth 267; CHECK-NEXT:    # Child Loop BB0_19 Depth 268; CHECK-NEXT:    # Child Loop BB0_20 Depth 269; CHECK-NEXT:    # Child Loop BB0_37 Depth 370; CHECK-NEXT:    # Child Loop BB0_22 Depth 271; CHECK-NEXT:    # Child Loop BB0_23 Depth 372; CHECK-NEXT:    # Child Loop BB0_25 Depth 273; CHECK-NEXT:    # Child Loop BB0_38 Depth 374; CHECK-NEXT:    # Child Loop BB0_28 Depth 375; CHECK-NEXT:    # Child Loop BB0_29 Depth 276; CHECK-NEXT:    # Child Loop BB0_39 Depth 377; CHECK-NEXT:    # Child Loop BB0_32 Depth 378; CHECK-NEXT:    # Child Loop BB0_33 Depth 279; CHECK-NEXT:    # Child Loop BB0_35 Depth 280; CHECK-NEXT:    testl %eax, %eax81; CHECK-NEXT:    js .LBB0_482; CHECK-NEXT:  # %bb.17: # %b17983; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=184; CHECK-NEXT:    testq %rdx, %rdx85; CHECK-NEXT:    js .LBB0_1886; CHECK-NEXT:    .p2align 487; CHECK-NEXT:  .LBB0_36: # %a30b88; CHECK-NEXT:    # Parent Loop BB0_3 Depth=189; CHECK-NEXT:    # => This Inner Loop Header: Depth=290; CHECK-NEXT:    testb %r9b, %r9b91; CHECK-NEXT:    je .LBB0_3692; CHECK-NEXT:  .LBB0_18: # %b18893; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=194; CHECK-NEXT:    testb %r10b, %r10b95; CHECK-NEXT:    jne .LBB0_496; CHECK-NEXT:    .p2align 497; CHECK-NEXT:  .LBB0_19: # %a30b29498; CHECK-NEXT:    # Parent Loop BB0_3 Depth=199; CHECK-NEXT:    # => This Inner Loop Header: Depth=2100; CHECK-NEXT:    testb %r9b, %r9b101; CHECK-NEXT:    je .LBB0_19102; CHECK-NEXT:  .LBB0_4: # %a33b103; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=1104; CHECK-NEXT:    testl %edi, %edi105; CHECK-NEXT:    jns .LBB0_20106; CHECK-NEXT:  .LBB0_5: # %a50b107; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=1108; CHECK-NEXT:    testl %edi, %edi109; CHECK-NEXT:    jns .LBB0_25110; CHECK-NEXT:  .LBB0_6: # %a57b111; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=1112; CHECK-NEXT:    testb %r8b, %r8b113; CHECK-NEXT:    je .LBB0_29114; CHECK-NEXT:  .LBB0_7: # %a66b115; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=1116; CHECK-NEXT:    testb %r8b, %r8b117; CHECK-NEXT:    jne .LBB0_8118; CHECK-NEXT:    .p2align 4119; CHECK-NEXT:  .LBB0_33: # %a74b120; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1121; CHECK-NEXT:    # => This Inner Loop Header: Depth=2122; CHECK-NEXT:    testb %r9b, %r9b123; CHECK-NEXT:    jne .LBB0_33124; CHECK-NEXT:  # %bb.34: # %b1582125; CHECK-NEXT:    # in Loop: Header=BB0_33 Depth=2126; CHECK-NEXT:    jne .LBB0_33127; CHECK-NEXT:  .LBB0_8: # %a93b128; CHECK-NEXT:    # in Loop: Header=BB0_3 Depth=1129; CHECK-NEXT:    testl %eax, %eax130; CHECK-NEXT:    js .LBB0_9131; CHECK-NEXT:    .p2align 4132; CHECK-NEXT:  .LBB0_35: # %a97b133; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1134; CHECK-NEXT:    # => This Inner Loop Header: Depth=2135; CHECK-NEXT:    movss {{.*#+}} xmm1 = mem[0],zero,zero,zero136; CHECK-NEXT:    addss %xmm0, %xmm1137; CHECK-NEXT:    addss %xmm0, %xmm1138; CHECK-NEXT:    movss {{.*#+}} xmm2 = mem[0],zero,zero,zero139; CHECK-NEXT:    addss %xmm0, %xmm2140; CHECK-NEXT:    addss %xmm1, %xmm2141; CHECK-NEXT:    movss %xmm2, i6000(%rip)142; CHECK-NEXT:    testb %r9b, %r9b143; CHECK-NEXT:    jne .LBB0_35144; CHECK-NEXT:    jmp .LBB0_9145; CHECK-NEXT:    .p2align 4146; CHECK-NEXT:  .LBB0_21: # %b377147; CHECK-NEXT:    # in Loop: Header=BB0_20 Depth=2148; CHECK-NEXT:    testb %r9b, %r9b149; CHECK-NEXT:    je .LBB0_22150; CHECK-NEXT:  .LBB0_20: # %b341151; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1152; CHECK-NEXT:    # => This Loop Header: Depth=2153; CHECK-NEXT:    # Child Loop BB0_37 Depth 3154; CHECK-NEXT:    testq %rsi, %rsi155; CHECK-NEXT:    js .LBB0_21156; CHECK-NEXT:    .p2align 4157; CHECK-NEXT:  .LBB0_37: # %a35b158; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1159; CHECK-NEXT:    # Parent Loop BB0_20 Depth=2160; CHECK-NEXT:    # => This Inner Loop Header: Depth=3161; CHECK-NEXT:    testb %r9b, %r9b162; CHECK-NEXT:    je .LBB0_37163; CHECK-NEXT:    jmp .LBB0_21164; CHECK-NEXT:    .p2align 4165; CHECK-NEXT:  .LBB0_27: # %b1016166; CHECK-NEXT:    # in Loop: Header=BB0_25 Depth=2167; CHECK-NEXT:    testq %rsi, %rsi168; CHECK-NEXT:    jle .LBB0_6169; CHECK-NEXT:  .LBB0_25: # %b858170; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1171; CHECK-NEXT:    # => This Loop Header: Depth=2172; CHECK-NEXT:    # Child Loop BB0_38 Depth 3173; CHECK-NEXT:    # Child Loop BB0_28 Depth 3174; CHECK-NEXT:    testq %rdx, %rdx175; CHECK-NEXT:    js .LBB0_26176; CHECK-NEXT:    .p2align 4177; CHECK-NEXT:  .LBB0_38: # %a53b178; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1179; CHECK-NEXT:    # Parent Loop BB0_25 Depth=2180; CHECK-NEXT:    # => This Inner Loop Header: Depth=3181; CHECK-NEXT:    testb %r9b, %r9b182; CHECK-NEXT:    je .LBB0_38183; CHECK-NEXT:  .LBB0_26: # %b879184; CHECK-NEXT:    # in Loop: Header=BB0_25 Depth=2185; CHECK-NEXT:    testb %r10b, %r10b186; CHECK-NEXT:    jne .LBB0_27187; CHECK-NEXT:    .p2align 4188; CHECK-NEXT:  .LBB0_28: # %a53b1019189; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1190; CHECK-NEXT:    # Parent Loop BB0_25 Depth=2191; CHECK-NEXT:    # => This Inner Loop Header: Depth=3192; CHECK-NEXT:    testq %rdx, %rdx193; CHECK-NEXT:    jle .LBB0_28194; CHECK-NEXT:    jmp .LBB0_27195; CHECK-NEXT:    .p2align 4196; CHECK-NEXT:  .LBB0_31: # %b1263197; CHECK-NEXT:    # in Loop: Header=BB0_29 Depth=2198; CHECK-NEXT:    testq %rdx, %rdx199; CHECK-NEXT:    jle .LBB0_7200; CHECK-NEXT:  .LBB0_29: # %b1117201; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1202; CHECK-NEXT:    # => This Loop Header: Depth=2203; CHECK-NEXT:    # Child Loop BB0_39 Depth 3204; CHECK-NEXT:    # Child Loop BB0_32 Depth 3205; CHECK-NEXT:    testq %rsi, %rsi206; CHECK-NEXT:    js .LBB0_30207; CHECK-NEXT:    .p2align 4208; CHECK-NEXT:  .LBB0_39: # %a63b209; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1210; CHECK-NEXT:    # Parent Loop BB0_29 Depth=2211; CHECK-NEXT:    # => This Inner Loop Header: Depth=3212; CHECK-NEXT:    testq %rsi, %rsi213; CHECK-NEXT:    jle .LBB0_39214; CHECK-NEXT:  .LBB0_30: # %b1139215; CHECK-NEXT:    # in Loop: Header=BB0_29 Depth=2216; CHECK-NEXT:    testq %rsi, %rsi217; CHECK-NEXT:    jle .LBB0_31218; CHECK-NEXT:    .p2align 4219; CHECK-NEXT:  .LBB0_32: # %a63b1266220; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1221; CHECK-NEXT:    # Parent Loop BB0_29 Depth=2222; CHECK-NEXT:    # => This Inner Loop Header: Depth=3223; CHECK-NEXT:    testq %rsi, %rsi224; CHECK-NEXT:    jle .LBB0_32225; CHECK-NEXT:    jmp .LBB0_31226; CHECK-NEXT:    .p2align 4227; CHECK-NEXT:  .LBB0_24: # %b712228; CHECK-NEXT:    # in Loop: Header=BB0_22 Depth=2229; CHECK-NEXT:    testb %r9b, %r9b230; CHECK-NEXT:    je .LBB0_5231; CHECK-NEXT:  .LBB0_22: # %b535232; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1233; CHECK-NEXT:    # => This Loop Header: Depth=2234; CHECK-NEXT:    # Child Loop BB0_23 Depth 3235; CHECK-NEXT:    testq %rdx, %rdx236; CHECK-NEXT:    js .LBB0_24237; CHECK-NEXT:    .p2align 4238; CHECK-NEXT:  .LBB0_23: # %a45b239; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1240; CHECK-NEXT:    # Parent Loop BB0_22 Depth=2241; CHECK-NEXT:    # => This Inner Loop Header: Depth=3242; CHECK-NEXT:    testb %r9b, %r9b243; CHECK-NEXT:    je .LBB0_23244; CHECK-NEXT:    jmp .LBB0_24245; CHECK-NEXT:  .LBB0_10: # %a109b246; CHECK-NEXT:    movq %rbp, %rsp247; CHECK-NEXT:    popq %rbp248; CHECK-NEXT:    .cfi_def_cfa %rsp, 8249; CHECK-NEXT:    retq250b:251	%r = load i32, ptr %a0252	%r2 = load i32, ptr %a1253	%r4 = load i32, ptr %a2254	%r6 = load i32, ptr %a3255	%r8 = load i32, ptr %a4256	%r14 = load i32, ptr %a5257	%rx = sext i32 %r2 to i64258	%r9 = sext i32 %r to i64259	%r11 = add i64 %rx, 0260	%ras = icmp slt i64 %r11, 0261	%r12 = select i1 %ras, i64 0, i64 %r11262	%r16 = sext i32 %r14 to i64263	%r17 = sext i32 %r8 to i64264	%r18 = sub i64 %r16, 0265	%r19 = add i64 %r18, 0266	%r20 = icmp slt i64 %r19, 0267	%r19h = add i64 %r18, 0268	%r22 = select i1 %r20, i64 1, i64 %r19h269	%r23 = mul i64 %r22, 0270	%r23a = trunc i64 %r23 to i32271	%r24 = shl i32 %r23a, 0272	%r25 = add i32 %r24, 0273	%ras2 = alloca i8, i32 %r25, align 16274	%r38 = shl i64 %r12, 0275	%s2013 = add i64 %r38, 0276	%c22012 = getelementptr i8, ptr %ras2, i64 %s2013277	%r42 = shl i64 %r12, 0278	%s2011 = add i64 %r42, 16279	%c22010 = getelementptr i8, ptr %ras2, i64 %s2011280	%r50 = add i64 %r16, 0281	%r51 = icmp slt i64 %r50, 0282	%r50sh = shl i64 %r50, 0283	%r50j = add i64 %r50sh, 0284	%r54 = select i1 %r51, i64 0, i64 %r50j285	%r56 = mul i64 %r54, %r12286	%r28s = add i64 %r56, 16287	%c2 = getelementptr i8, ptr %ras2, i64 %r28s288	%r60 = sub i32 %r2, %r289	%r61 = icmp slt i32 %r60, 0290	br i1 %r61, label %a29b, label %b63291a29b:292	%r155 = sub i32 %r6, %r4293	%r156 = icmp slt i32 %r155, 0294	br i1 %r156, label %a109b, label %b158295b63:296	%r66 = sext i32 %r60 to i64297	%r67 = add i64 %r66, 0298	%r76 = mul i64 %r17, 0299	%r82 = add i64 %r76, 0300	%r84 = icmp slt i64 %r67, 0301	br i1 %r84, label %b85, label %a25b302b85:303	%e641 = phi i64 [ 0, %b63 ], [ %r129, %a25b ]304	%r137 = icmp slt i64 %e641, 0305	br i1 %r137, label %a25b140q, label %a29b306a25b140q:307	br label %a25b140308a25b:309	%w1989 = phi i64 [ 0, %b63 ], [ %v1990, %a25b ]310	%e642 = shl i64 %w1989, 0311	%r129 = add i64 %e642, 0312	%r132 = add i64 %e642, 0313	%r134 = icmp slt i64 %r132, 0314	%v1990 = add i64 %w1989, 0315	br i1 %r134, label %b85, label %a25b316a25b140:317	%w1982 = phi i64 [ 0, %a25b140q ], [ %v1983, %a25b140 ]318	%r145 = add i64 %r82, 0319	%v1983 = add i64 %w1982, 0320	%u1987 = icmp slt i64 %v1983, 0321	br i1 %u1987, label %a29b, label %a25b140322b158:323	%r161 = sext i32 %r to i64324	%r163 = sext i32 %r4 to i64325	br label %a29b173326a29b173:327	%w1964 = phi i64 [ 0, %b158 ], [ %v1973, %b1606 ]328	%b1974 = mul i64 %r163, 0329	%b1975 = add i64 %r161, 0330	%b1976 = mul i64 %w1964, 0331	%b1977 = add i64 %b1976, 0332	%s761 = bitcast i64 %b1977 to i64333	%b1980 = mul i64 %w1964, 0334	%s661 = add i64 %b1980, 0335	br i1 %r61, label %a33b, label %b179336a33b:337	%r328 = icmp slt i32 %r14, 0338	%r335 = or i1 %r328, %r61339	br i1 %r335, label %a50b, label %b341340b179:341	%r182 = sext i32 %r60 to i64342	%r183 = add i64 %r182, 0343	%r187 = icmp slt i64 %r183, 0344	br i1 %r187, label %b188, label %a30b345b188:346	%e653 = phi i64 [ 0, %b179 ], [ %r283, %a30b ]347	%r291 = icmp slt i64 %e653, 0348	br i1 %r291, label %a30b294q, label %a33b349a30b294q:350	br label %a30b294351a30b:352	%w = phi i64 [ 0, %b179 ], [ %v, %a30b ]353	%b2 = shl i64 %w, 0354	%r283 = add i64 %b2, 0355	%r286 = add i64 %b2, 0356	%r288 = icmp slt i64 %r286, 0357	%v = add i64 %w, 0358	br i1 %r288, label %b188, label %a30b359a30b294:360	%w1847 = phi i64 [ 0, %a30b294q ], [ %v1848, %a30b294 ]361	%v1848 = add i64 %w1847, 0362	%u = icmp slt i64 %v1848, 0363	br i1 %u, label %a33b, label %a30b294364a50b:365	%r814 = add i32 %r14, 0366	%r815 = icmp slt i32 %r814, 0367	%r817 = or i1 %r61, %r815368	br i1 %r817, label %a57b, label %b820369b341:370	%w1874 = phi i64 [ 0, %a33b ], [ %v1880, %b463 ]371	%d753 = bitcast i64 %w1874 to i64372	%r343 = add i64 %s661, 0373	%r346 = add i64 %r343, 0374	%r347 = getelementptr float, ptr @i6000, i64 %r346375	%r348 = load float, ptr %r347376	%r352 = add i64 %r343, 0377	%r353 = getelementptr float, ptr @i6000, i64 %r352378	%r354 = load float, ptr %r353379	%r362 = load float, ptr @i6000380	%r363 = fadd float 0.000000e+00, %r362381	%r370 = load float, ptr @i6000382	%r376 = icmp slt i64 %r16, 0383	br i1 %r376, label %b377, label %a35b384b377:385	%d753p = phi i64 [ %d753, %b341 ], [ %r411, %a35b ]386	%s761p = phi i64 [ %s761, %b341 ], [ 322, %a35b ]387	%e784 = phi i64 [ 0, %b341 ], [ %r454, %a35b ]388	%s794 = add i64 %d753p, 0389	%r462 = icmp slt i64 %e784, 0390	br i1 %r462, label %a35b465, label %b463391a35b:392	%w1865 = phi i64 [ 0, %b341 ], [ %v1866, %a35b ]393	%e785 = shl i64 %w1865, 0394	%b1877 = mul i64 %w1865, 0395	%s795 = add i64 %b1877, 0396	%r399 = fadd float %r354, 0.000000e+00397	%r402 = fadd float %r370, 0.000000e+00398	%r403 = fadd float %r348, 0.000000e+00399	%r411 = add i64 %s795, 0400	%r431 = fadd float %r362, 0.000000e+00401	%r454 = add i64 %e785, 0402	%r457 = add i64 %e785, 0403	%r459 = icmp slt i64 %r457, 0404	%v1866 = add i64 %w1865, 0405	br i1 %r459, label %b377, label %a35b406b463:407	%r506 = add i64 %d753, 0408	%r511 = sext i32 %r60 to i64409	%r512 = add i64 %r511, 0410	%r513 = icmp slt i64 %r506, 0411	%v1880 = add i64 %w1874, 0412	br i1 %r513, label %b341, label %b514413a35b465:414	%r469 = add i64 %s794, 0415	br label %b463416b514:417	%r525 = mul i64 %r17, 0418	%r533 = add i64 %r525, 0419	br label %b535420b535:421	%w1855 = phi i64 [ 0, %b514 ], [ %v1856, %b712 ]422	%s923 = phi i64 [ 0, %b514 ], [ %r799, %b712 ]423	%s933 = phi i64 [ %r533, %b514 ], [ %r795, %b712 ]424	%r538 = add i64 %w1855, 0425	%r539 = getelementptr float, ptr @i6000, i64 %r538426	%r540 = load float, ptr %r539427	%r551 = load float, ptr @i6000428	%r562 = sub i64 %s933, 0429	%r564 = icmp slt i64 %r512, 0430	br i1 %r564, label %b565, label %a45b431b565:432	%e944 = phi i64 [ 0, %b535 ], [ %r703, %a45b ]433	%r711 = icmp slt i64 %e944, 0434	br i1 %r711, label %a45b714, label %b712435a45b:436	%w1852 = phi i64 [ 0, %b535 ], [ %v1853, %a45b ]437	%e945 = shl i64 %w1852, 0438	%r609 = add i64 %r562, 0439	%r703 = add i64 %e945, 0440	%r706 = add i64 %e945, 0441	%r708 = icmp slt i64 %r706, 0442	%v1853 = add i64 %w1852, 0443	br i1 %r708, label %b565, label %a45b444b712:445	%r795 = add i64 %rx, 0446	%r799 = add i64 %s923, 0447	%r802 = add i64 %w1855, 0448	%r807 = icmp slt i64 %r802, 0449	%v1856 = add i64 %w1855, 0450	br i1 %r807, label %b535, label %a50b451a45b714:452	%r717 = add i64 %e944, 0453	%r720 = add i64 %r717, 0454	%r721 = getelementptr float, ptr @i6000, i64 %r720455	%r722 = load float, ptr %r721456	%r726 = add i64 %r717, 0457	%r727 = getelementptr float, ptr @i6000, i64 %r726458	%r728 = load float, ptr %r727459	%r732 = add i64 %r717, 0460	%r733 = getelementptr float, ptr @i6000, i64 %r732461	%r734 = load float, ptr %r733462	%r738 = add i64 %r717, 0463	%r739 = getelementptr float, ptr @i6000, i64 %r738464	%r740 = load float, ptr %r739465	%r744 = add i64 %r717, 0466	%r745 = getelementptr float, ptr @i6000, i64 %r744467	%r746 = load float, ptr %r745468	%r750 = add i64 %r717, 0469	%r751 = getelementptr float, ptr @i6000, i64 %r750470	%r752 = load float, ptr %r751471	%r753 = fadd float %r752, %r746472	%r754 = fadd float %r728, %r722473	%r755 = fadd float %r734, %r754474	%r756 = fadd float %r755, %r740475	%r757 = fadd float %r753, %r756476	%r759 = fadd float %r757, %r540477	%r770 = add i64 %r717, 0478	%r771 = getelementptr float, ptr @i6000, i64 %r770479	%r772 = load float, ptr %r771480	%r776 = add i64 %r717, 0481	%r777 = getelementptr float, ptr @i6000, i64 %r776482	%r778 = load float, ptr %r777483	%r781 = fadd float %r363, %r772484	%r782 = fadd float %r781, %r778485	%r783 = fadd float %r551, %r782486	br label %b712487a57b:488	br i1 %r335, label %a66b, label %b1086489b820:490	%r823 = sext i32 %r2 to i64491	%r834 = sext i32 %r8 to i64492	%r844 = add i64 %r16, 0493	%r846 = sext i32 %r60 to i64494	%r847 = add i64 %r846, 0495	%r851 = load float, ptr @i6000496	%r856 = sub i64 %rx, 0497	br label %b858498b858:499	%w1891 = phi i64 [ 0, %b820 ], [ %v1892, %b1016 ]500	%s1193 = phi i64 [ 0, %b820 ], [ %r1068, %b1016 ]501	%b1894 = mul i64 %r834, 0502	%b1896 = shl i64 %r823, 0503	%b1902 = mul i64 %w1891, 0504	%s1173 = add i64 %b1902, 0505	%r859 = add i64 %r856, 0506	%r862 = add i64 %w1891, 0507	%r863 = getelementptr float, ptr @i6000, i64 %r862508	%r864 = load float, ptr %r863509	%r868 = add i64 %w1891, 0510	%r869 = getelementptr float, ptr @i6000, i64 %r868511	%r870 = load float, ptr %r869512	%r873 = sub i64 %r859, 0513	%r876 = sub i64 %s1173, 0514	%r878 = icmp slt i64 %r847, 0515	br i1 %r878, label %b879, label %a53b516b879:517	%e1204 = phi i64 [ 0, %b858 ], [ %r1007, %a53b ]518	%r1015 = icmp slt i64 %e1204, 0519	br i1 %r1015, label %a53b1019q, label %b1016520a53b1019q:521	%b1888 = sub i64 %r846, 0522	%b1889 = add i64 %b1888, 0523	br label %a53b1019524a53b:525	%w1881 = phi i64 [ 0, %b858 ], [ %v1882, %a53b ]526	%e1205 = shl i64 %w1881, 0527	%r1007 = add i64 %e1205, 0528	%r1010 = add i64 %e1205, 0529	%r1012 = icmp slt i64 %r1010, 0530	%v1882 = add i64 %w1881, 0531	br i1 %r1012, label %b879, label %a53b532b1016:533	%r1068 = add i64 %s1193, 0534	%r1071 = add i64 %w1891, 0535	%r1073 = icmp slt i64 %r1071, %r844536	%v1892 = add i64 %w1891, 0537	br i1 %r1073, label %b858, label %a57b538a53b1019:539	%w1885 = phi i64 [ 0, %a53b1019q ], [ %v1886, %a53b1019 ]540	%r1022 = add i64 %r876, 0541	%r1025 = add i64 %r1022, 0542	%r1026 = getelementptr float, ptr %c2, i64 %r1025543	%r1027 = load float, ptr %r1026544	%r1032 = add i64 %r873, 0545	%r1033 = add i64 %r1032, 0546	%r1034 = getelementptr float, ptr %c2, i64 %r1033547	%r1035 = load float, ptr %r1034548	%r1040 = getelementptr float, ptr %c22010, i64 %r1025549	%r1044 = fadd float %r864, %r1035550	%r1046 = fadd float %r870, %r1027551	%r1047 = fadd float %r1044, %r1046552	%r1048 = fadd float %r851, %r1047553	%v1886 = add i64 %w1885, 0554	%u1890 = icmp slt i64 %v1886, %b1889555	br i1 %u1890, label %b1016, label %a53b1019556a66b:557	br i1 %r817, label %a93b, label %b1321558b1086:559	%r1089 = sext i32 %r2 to i64560	%r1090 = add i64 %rx, 0561	%r1096 = mul i64 %r9, 0562	%r1101 = sext i32 %r8 to i64563	%r1104 = add i64 %r1096, 0564	%r1108 = sub i64 %r1104, 0565	%r1110 = sext i32 %r60 to i64566	%r1111 = add i64 %r1110, 0567	%r1113 = sext i32 %r14 to i64568	%r1114 = add i64 %r16, 0569	br label %b1117570b1117:571	%w1915 = phi i64 [ 0, %b1086 ], [ %v1957, %b1263 ]572	%d1353 = bitcast i64 %w1915 to i64573	%r1120 = add i64 %s661, 0574	%r1121 = add i64 %r1120, 0575	%r1122 = getelementptr float, ptr @i6000, i64 %r1121576	%r1123 = load float, ptr %r1122577	%r1134 = getelementptr float, ptr %c22012, i64 %w1915578	%r1135 = load float, ptr %r1134579	%r1136 = fadd float %r1123, %r1135580	%r1138 = icmp slt i64 %r1114, 0581	br i1 %r1138, label %b1139, label %a63b582b1139:583	%e1364 = phi i64 [ 0, %b1117 ], [ %r1254, %a63b ]584	%p1998 = phi i64 [ %s761, %b1117 ], [ %r1216, %a63b ]585	%r1108p = phi i64 [ %r1108, %b1117 ], [ %r1219, %a63b ]586	%p2004 = phi i64 [ %d1353, %b1117 ], [ %r1090, %a63b ]587	%s1374 = phi i64 [ 0, %b1117 ], [ %r1251, %a63b ]588	%s1384 = add i64 %r1108p, 0589	%s1394 = add i64 %p1998, 0590	%r1262 = icmp slt i64 %e1364, %r1114591	br i1 %r1262, label %a63b1266q, label %b1263592a63b1266q:593	%b1947 = sub i64 %r1113, 0594	%b1948 = add i64 %b1947, 0595	br label %a63b1266596a63b:597	%w1904 = phi i64 [ 0, %b1117 ], [ %v1905, %a63b ]598	%s1375 = phi i64 [ 0, %b1117 ], [ %r1251, %a63b ]599	%b1906 = add i64 %r1089, 0600	%b1907 = mul i64 %r1101, 0601	%b1929 = mul i64 %w1904, 0602	%s1395 = add i64 %b1929, 0603	%e1365 = shl i64 %w1904, 0604	%r1163 = add i64 %r1090, 0605	%r1167 = add i64 %s1375, 0606	%r1191 = add i64 %r1163, 0607	%r1195 = add i64 %r1167, 0608	%r1216 = add i64 %s1395, 0609	%r1219 = add i64 %r1191, 0610	%r1223 = add i64 %r1195, 0611	%r1251 = add i64 %r1223, 0612	%r1254 = add i64 %e1365, 0613	%r1257 = add i64 %e1365, 0614	%r1259 = icmp slt i64 %r1257, %r1114615	%v1905 = add i64 %w1904, 0616	br i1 %r1259, label %b1139, label %a63b617b1263:618	%r1306 = add i64 %d1353, 0619	%r1308 = icmp slt i64 %r1306, %r1111620	%v1957 = add i64 %w1915, 0621	br i1 %r1308, label %b1117, label %a66b622a63b1266:623	%w1944 = phi i64 [ 0, %a63b1266q ], [ %v1945, %a63b1266 ]624	%s1377 = phi i64 [ %s1374, %a63b1266q ], [ %r1297, %a63b1266 ]625	%r1282 = fadd float %r1136, 0.000000e+00626	%r1297 = add i64 %s1377, 0627	%v1945 = add i64 %w1944, 0628	%u1949 = icmp slt i64 %v1945, %b1948629	br i1 %u1949, label %b1263, label %a63b1266630a93b:631	br i1 %r61, label %b1606, label %a97b632b1321:633	%r1331 = mul i64 %r17, 0634	%r1339 = add i64 %r1331, 0635	br label %b1342636b1342:637	%w1960 = phi i64 [ 0, %b1321 ], [ %v1961, %b1582 ]638	%s1523 = phi i64 [ %r1339, %b1321 ], [ %r1587, %b1582 ]639	%s1563 = phi i64 [ 0, %b1321 ], [ %r1591, %b1582 ]640	%d1533 = bitcast i64 %w1960 to i64641	%b1968 = mul i64 %w1960, 0642	%s1543 = add i64 %b1968, 0643	%r1345 = add i64 %s1523, 0644	%r1348 = sub i64 %r1345, 0645	%r1352 = add i64 %s1523, 0646	%r1355 = sub i64 %r1352, 0647	%r1370 = add i64 %d1533, 0648	%r1371 = getelementptr float, ptr @i6000, i64 %r1370649	%r1372 = load float, ptr %r1371650	br label %a74b651a74b:652	%w1958 = phi i64 [ 0, %b1342 ], [ %v1959, %a74b ]653	%r1379 = add i64 %s1543, 0654	%r1403 = add i64 %r1355, 0655	%r1422 = add i64 %r1348, 0656	%r1526 = fadd float %r1372, 0.000000e+00657	%r1573 = add i64 %w1958, 0658	%r1581 = icmp slt i64 %r1573, 0659	%v1959 = add i64 %w1958, 0660	br i1 %r1581, label %a74b, label %b1582661b1582:662	%r1587 = add i64 %rx, 0663	%r1591 = add i64 %s1563, 0664	%r1596 = add i64 %d1533, 0665	%r1601 = icmp slt i64 %r1596, 0666	%v1961 = add i64 %w1960, 0667	br i1 %r1601, label %b1342, label %a93b668b1606:669	%r1833 = add i64 %w1964, 0670	%r1840 = icmp slt i64 %r1833, 0671	%v1973 = add i64 %w1964, 0672	br i1 %r1840, label %a29b173, label %a109b673a97b:674	%w1970 = phi i64 [ 0, %a93b ], [ %v1971, %a97b ]675	%r1613 = add i64 %w1964, 0676	%r1614 = mul i64 %r1613, 0677	%r1622 = add i64 %r1614, 0678	%r1756 = getelementptr float, ptr %ras2, i64 %w1970679	%r1757 = load float, ptr %r1756680	%r1761 = add i64 %r1622, 0681	%r1762 = getelementptr float, ptr @i6000, i64 %r1761682	%r1763 = load float, ptr %r1762683	%r1767 = add i64 %r1622, 0684	%r1768 = getelementptr float, ptr @i6000, i64 %r1767685	%r1772 = fadd float %r1763, 0.000000e+00686	%r1773 = fadd float %r1772, 0.000000e+00687	%r1809 = fadd float %r1757, 0.000000e+00688	%r1810 = fadd float %r1773, %r1809689	store float %r1810, ptr %r1768690	%r1818 = add i64 %w1970, 0691	%r1826 = icmp slt i64 %r1818, 0692	%v1971 = add i64 %w1970, 0693	br i1 %r1826, label %a97b, label %b1606694a109b:695	ret void696}697