brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.3 KiB · ae71cd0 Raw
388 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=aarch64 -hoist-const-loads=false < %s | FileCheck %s3 4@A = external dso_local local_unnamed_addr global [8 x [8 x i64]], align 85@B = external dso_local local_unnamed_addr global [8 x [8 x i64]], align 86@C = external dso_local local_unnamed_addr global [8 x [8 x i64]], align 87 8define dso_local void @run_test() local_unnamed_addr uwtable {9; CHECK-LABEL: run_test:10; CHECK:       // %bb.0: // %entry11; CHECK-NEXT:    sub sp, sp, #19212; CHECK-NEXT:    .cfi_def_cfa_offset 19213; CHECK-NEXT:    stp d15, d14, [sp, #112] // 16-byte Folded Spill14; CHECK-NEXT:    stp d13, d12, [sp, #128] // 16-byte Folded Spill15; CHECK-NEXT:    stp d11, d10, [sp, #144] // 16-byte Folded Spill16; CHECK-NEXT:    stp d9, d8, [sp, #160] // 16-byte Folded Spill17; CHECK-NEXT:    stp x20, x19, [sp, #176] // 16-byte Folded Spill18; CHECK-NEXT:    .cfi_offset w19, -819; CHECK-NEXT:    .cfi_offset w20, -1620; CHECK-NEXT:    .cfi_offset b8, -2421; CHECK-NEXT:    .cfi_offset b9, -3222; CHECK-NEXT:    .cfi_offset b10, -4023; CHECK-NEXT:    .cfi_offset b11, -4824; CHECK-NEXT:    .cfi_offset b12, -5625; CHECK-NEXT:    .cfi_offset b13, -6426; CHECK-NEXT:    .cfi_offset b14, -7227; CHECK-NEXT:    .cfi_offset b15, -8028; CHECK-NEXT:    movi v1.2d, #000000000000000029; CHECK-NEXT:    adrp x14, B+4830; CHECK-NEXT:    add x14, x14, :lo12:B+4831; CHECK-NEXT:    // implicit-def: $q1832; CHECK-NEXT:    mov x8, xzr33; CHECK-NEXT:    mov w9, #8 // =0x834; CHECK-NEXT:    adrp x10, A35; CHECK-NEXT:    add x10, x10, :lo12:A36; CHECK-NEXT:    mov x11, xzr37; CHECK-NEXT:    // kill: killed $q1838; CHECK-NEXT:    // implicit-def: $q1839; CHECK-NEXT:    mov x12, xzr40; CHECK-NEXT:    mov x13, x1441; CHECK-NEXT:    // implicit-def: $q042; CHECK-NEXT:    // implicit-def: $q243; CHECK-NEXT:    // implicit-def: $q344; CHECK-NEXT:    // implicit-def: $q445; CHECK-NEXT:    // implicit-def: $q546; CHECK-NEXT:    // implicit-def: $q647; CHECK-NEXT:    // implicit-def: $q1648; CHECK-NEXT:    // implicit-def: $q1749; CHECK-NEXT:    // implicit-def: $q750; CHECK-NEXT:    // implicit-def: $q1951; CHECK-NEXT:    // implicit-def: $q2052; CHECK-NEXT:    // implicit-def: $q2153; CHECK-NEXT:    // implicit-def: $q2254; CHECK-NEXT:    // implicit-def: $q2455; CHECK-NEXT:    // implicit-def: $q2356; CHECK-NEXT:    // implicit-def: $q2557; CHECK-NEXT:    // implicit-def: $q2658; CHECK-NEXT:    // implicit-def: $q2759; CHECK-NEXT:    // implicit-def: $q3060; CHECK-NEXT:    // implicit-def: $q861; CHECK-NEXT:    // implicit-def: $q1162; CHECK-NEXT:    // implicit-def: $q1263; CHECK-NEXT:    // implicit-def: $q2964; CHECK-NEXT:    // implicit-def: $q1365; CHECK-NEXT:    // implicit-def: $q1066; CHECK-NEXT:    // implicit-def: $q1567; CHECK-NEXT:    // kill: killed $q1868; CHECK-NEXT:    // implicit-def: $q1869; CHECK-NEXT:    // kill: killed $q1870; CHECK-NEXT:  .LBB0_1: // %for.cond1.preheader71; CHECK-NEXT:    // =>This Inner Loop Header: Depth=172; CHECK-NEXT:    ldr x17, [x8]73; CHECK-NEXT:    ldr x15, [x8]74; CHECK-NEXT:    mov v18.16b, v0.16b75; CHECK-NEXT:    ldr x16, [x9]76; CHECK-NEXT:    stp q15, q4, [sp] // 32-byte Folded Spill77; CHECK-NEXT:    add x5, x10, x1178; CHECK-NEXT:    mul x1, x15, x1779; CHECK-NEXT:    ldr x2, [x13], #6480; CHECK-NEXT:    ldr x5, [x5, #128]81; CHECK-NEXT:    stp q7, q23, [sp, #32] // 32-byte Folded Spill82; CHECK-NEXT:    ldr x14, [x14, #8]83; CHECK-NEXT:    mul x0, x17, x1784; CHECK-NEXT:    ldr q23, [sp, #80] // 16-byte Reload85; CHECK-NEXT:    mov v9.16b, v30.16b86; CHECK-NEXT:    mov v30.16b, v25.16b87; CHECK-NEXT:    mov v25.16b, v20.16b88; CHECK-NEXT:    mov v20.16b, v6.16b89; CHECK-NEXT:    mul x18, x16, x1790; CHECK-NEXT:    mov v6.16b, v1.16b91; CHECK-NEXT:    mov v28.16b, v24.16b92; CHECK-NEXT:    fmov d14, x193; CHECK-NEXT:    mov v24.16b, v19.16b94; CHECK-NEXT:    mov v19.16b, v5.16b95; CHECK-NEXT:    mul x4, x2, x1796; CHECK-NEXT:    mov v31.16b, v26.16b97; CHECK-NEXT:    mov v26.16b, v21.16b98; CHECK-NEXT:    fmov d15, x099; CHECK-NEXT:    mov v21.16b, v16.16b100; CHECK-NEXT:    mov v16.16b, v2.16b101; CHECK-NEXT:    mov v0.16b, v14.16b102; CHECK-NEXT:    mul x20, x2, x5103; CHECK-NEXT:    mov v7.16b, v10.16b104; CHECK-NEXT:    mov v10.16b, v17.16b105; CHECK-NEXT:    mov v17.16b, v3.16b106; CHECK-NEXT:    add x11, x11, #8107; CHECK-NEXT:    mov v15.d[1], x18108; CHECK-NEXT:    mul x3, x14, x17109; CHECK-NEXT:    cmp x11, #64110; CHECK-NEXT:    mov v0.d[1], x1111; CHECK-NEXT:    fmov d1, x4112; CHECK-NEXT:    add x12, x12, #1113; CHECK-NEXT:    mul x17, x17, x5114; CHECK-NEXT:    fmov d5, x20115; CHECK-NEXT:    mul x6, x15, x15116; CHECK-NEXT:    add v23.2d, v23.2d, v0.2d117; CHECK-NEXT:    ldr q0, [sp, #64] // 16-byte Reload118; CHECK-NEXT:    mov v1.d[1], x3119; CHECK-NEXT:    mul x7, x15, x5120; CHECK-NEXT:    add v0.2d, v0.2d, v15.2d121; CHECK-NEXT:    fmov d2, x17122; CHECK-NEXT:    mul x0, x14, x5123; CHECK-NEXT:    fmov d4, x6124; CHECK-NEXT:    mul x19, x16, x5125; CHECK-NEXT:    stp q0, q23, [sp, #64] // 32-byte Folded Spill126; CHECK-NEXT:    ldr q0, [sp, #96] // 16-byte Reload127; CHECK-NEXT:    fmov d3, x7128; CHECK-NEXT:    ldr q23, [sp, #48] // 16-byte Reload129; CHECK-NEXT:    mul x17, x2, x15130; CHECK-NEXT:    add v0.2d, v0.2d, v15.2d131; CHECK-NEXT:    ldr q15, [sp] // 16-byte Reload132; CHECK-NEXT:    mov v5.d[1], x0133; CHECK-NEXT:    mov v4.d[1], x6134; CHECK-NEXT:    mul x16, x16, x15135; CHECK-NEXT:    mov v3.d[1], x7136; CHECK-NEXT:    add v15.2d, v15.2d, v1.2d137; CHECK-NEXT:    mov v2.d[1], x19138; CHECK-NEXT:    str q0, [sp, #96] // 16-byte Spill139; CHECK-NEXT:    mov v1.16b, v6.16b140; CHECK-NEXT:    mul x14, x14, x15141; CHECK-NEXT:    mov v6.16b, v20.16b142; CHECK-NEXT:    mov v20.16b, v25.16b143; CHECK-NEXT:    fmov d0, x17144; CHECK-NEXT:    mov v25.16b, v30.16b145; CHECK-NEXT:    add v30.2d, v9.2d, v5.2d146; CHECK-NEXT:    mov v5.16b, v19.16b147; CHECK-NEXT:    mov v19.16b, v24.16b148; CHECK-NEXT:    add v11.2d, v11.2d, v3.2d149; CHECK-NEXT:    mov v14.d[1], x16150; CHECK-NEXT:    mov v3.16b, v17.16b151; CHECK-NEXT:    mov v17.16b, v10.16b152; CHECK-NEXT:    mov v10.16b, v7.16b153; CHECK-NEXT:    add v8.2d, v8.2d, v2.2d154; CHECK-NEXT:    mov v2.16b, v16.16b155; CHECK-NEXT:    mov v0.d[1], x14156; CHECK-NEXT:    mov v16.16b, v21.16b157; CHECK-NEXT:    mov v21.16b, v26.16b158; CHECK-NEXT:    add v13.2d, v13.2d, v4.2d159; CHECK-NEXT:    add v26.2d, v31.2d, v4.2d160; CHECK-NEXT:    add v24.2d, v28.2d, v4.2d161; CHECK-NEXT:    add v19.2d, v19.2d, v4.2d162; CHECK-NEXT:    add v6.2d, v6.2d, v4.2d163; CHECK-NEXT:    add v1.2d, v1.2d, v4.2d164; CHECK-NEXT:    ldp q4, q7, [sp, #16] // 32-byte Folded Reload165; CHECK-NEXT:    add v10.2d, v10.2d, v14.2d166; CHECK-NEXT:    add v29.2d, v29.2d, v14.2d167; CHECK-NEXT:    add v27.2d, v27.2d, v14.2d168; CHECK-NEXT:    add v23.2d, v23.2d, v14.2d169; CHECK-NEXT:    add v22.2d, v22.2d, v14.2d170; CHECK-NEXT:    add v20.2d, v20.2d, v14.2d171; CHECK-NEXT:    add v16.2d, v16.2d, v14.2d172; CHECK-NEXT:    add v7.2d, v7.2d, v14.2d173; CHECK-NEXT:    add v5.2d, v5.2d, v14.2d174; CHECK-NEXT:    add v3.2d, v3.2d, v14.2d175; CHECK-NEXT:    add v2.2d, v2.2d, v14.2d176; CHECK-NEXT:    add v12.2d, v12.2d, v0.2d177; CHECK-NEXT:    add v25.2d, v25.2d, v0.2d178; CHECK-NEXT:    add v21.2d, v21.2d, v0.2d179; CHECK-NEXT:    add v17.2d, v17.2d, v0.2d180; CHECK-NEXT:    add v4.2d, v4.2d, v0.2d181; CHECK-NEXT:    add v0.2d, v18.2d, v0.2d182; CHECK-NEXT:    mov x14, x13183; CHECK-NEXT:    b.ne .LBB0_1184; CHECK-NEXT:  // %bb.2: // %for.cond.cleanup185; CHECK-NEXT:    ldp q28, q18, [sp, #64] // 32-byte Folded Reload186; CHECK-NEXT:    adrp x8, C187; CHECK-NEXT:    add x8, x8, :lo12:C188; CHECK-NEXT:    ldp x20, x19, [sp, #176] // 16-byte Folded Reload189; CHECK-NEXT:    stp q10, q13, [x8, #64]190; CHECK-NEXT:    stp q28, q18, [x8]191; CHECK-NEXT:    ldr q18, [sp, #96] // 16-byte Reload192; CHECK-NEXT:    stp q29, q12, [x8, #96]193; CHECK-NEXT:    ldp d13, d12, [sp, #128] // 16-byte Folded Reload194; CHECK-NEXT:    stp q18, q15, [x8, #32]195; CHECK-NEXT:    ldp d15, d14, [sp, #112] // 16-byte Folded Reload196; CHECK-NEXT:    stp q11, q8, [x8, #144]197; CHECK-NEXT:    ldp d9, d8, [sp, #160] // 16-byte Folded Reload198; CHECK-NEXT:    stp q30, q27, [x8, #176]199; CHECK-NEXT:    ldp d11, d10, [sp, #144] // 16-byte Folded Reload200; CHECK-NEXT:    str q26, [x8, #208]201; CHECK-NEXT:    stp q25, q23, [x8, #240]202; CHECK-NEXT:    stp q24, q22, [x8, #272]203; CHECK-NEXT:    stp q21, q20, [x8, #304]204; CHECK-NEXT:    stp q19, q7, [x8, #336]205; CHECK-NEXT:    stp q17, q16, [x8, #368]206; CHECK-NEXT:    stp q6, q5, [x8, #400]207; CHECK-NEXT:    stp q4, q3, [x8, #432]208; CHECK-NEXT:    stp q1, q2, [x8, #464]209; CHECK-NEXT:    str q0, [x8, #496]210; CHECK-NEXT:    add sp, sp, #192211; CHECK-NEXT:    .cfi_def_cfa_offset 0212; CHECK-NEXT:    .cfi_restore w19213; CHECK-NEXT:    .cfi_restore w20214; CHECK-NEXT:    .cfi_restore b8215; CHECK-NEXT:    .cfi_restore b9216; CHECK-NEXT:    .cfi_restore b10217; CHECK-NEXT:    .cfi_restore b11218; CHECK-NEXT:    .cfi_restore b12219; CHECK-NEXT:    .cfi_restore b13220; CHECK-NEXT:    .cfi_restore b14221; CHECK-NEXT:    .cfi_restore b15222; CHECK-NEXT:    ret223; CH`ECK-NEXT:    .cfi_offset b9, -16224entry:225  br label %for.cond1.preheader226 227for.cond1.preheader:                              ; preds = %for.cond1.preheader, %entry228  %0 = phi <2 x i64> [ undef, %entry ], [ %118, %for.cond1.preheader ]229  %1 = phi <2 x i64> [ undef, %entry ], [ %116, %for.cond1.preheader ]230  %2 = phi <2 x i64> [ zeroinitializer, %entry ], [ %114, %for.cond1.preheader ]231  %3 = phi <2 x i64> [ undef, %entry ], [ %112, %for.cond1.preheader ]232  %4 = phi <2 x i64> [ undef, %entry ], [ %107, %for.cond1.preheader ]233  %5 = phi <2 x i64> [ undef, %entry ], [ %105, %for.cond1.preheader ]234  %6 = phi <2 x i64> [ undef, %entry ], [ %103, %for.cond1.preheader ]235  %7 = phi <2 x i64> [ undef, %entry ], [ %101, %for.cond1.preheader ]236  %8 = phi <2 x i64> [ undef, %entry ], [ %96, %for.cond1.preheader ]237  %9 = phi <2 x i64> [ undef, %entry ], [ %94, %for.cond1.preheader ]238  %10 = phi <2 x i64> [ undef, %entry ], [ %92, %for.cond1.preheader ]239  %11 = phi <2 x i64> [ undef, %entry ], [ %90, %for.cond1.preheader ]240  %12 = phi <2 x i64> [ undef, %entry ], [ %85, %for.cond1.preheader ]241  %13 = phi <2 x i64> [ undef, %entry ], [ %83, %for.cond1.preheader ]242  %14 = phi <2 x i64> [ undef, %entry ], [ %81, %for.cond1.preheader ]243  %15 = phi <2 x i64> [ undef, %entry ], [ %79, %for.cond1.preheader ]244  %16 = phi <2 x i64> [ undef, %entry ], [ %74, %for.cond1.preheader ]245  %17 = phi <2 x i64> [ undef, %entry ], [ %72, %for.cond1.preheader ]246  %18 = phi <2 x i64> [ undef, %entry ], [ %70, %for.cond1.preheader ]247  %19 = phi <2 x i64> [ undef, %entry ], [ %65, %for.cond1.preheader ]248  %20 = phi <2 x i64> [ undef, %entry ], [ %63, %for.cond1.preheader ]249  %21 = phi <2 x i64> [ undef, %entry ], [ %61, %for.cond1.preheader ]250  %22 = phi <2 x i64> [ undef, %entry ], [ %56, %for.cond1.preheader ]251  %23 = phi <2 x i64> [ undef, %entry ], [ %54, %for.cond1.preheader ]252  %24 = phi <2 x i64> [ undef, %entry ], [ %52, %for.cond1.preheader ]253  %25 = phi <2 x i64> [ undef, %entry ], [ %50, %for.cond1.preheader ]254  %26 = phi <2 x i64> [ undef, %entry ], [ %45, %for.cond1.preheader ]255  %27 = phi <2 x i64> [ undef, %entry ], [ %43, %for.cond1.preheader ]256  %28 = phi <2 x i64> [ undef, %entry ], [ %41, %for.cond1.preheader ]257  %29 = phi <2 x i64> [ undef, %entry ], [ %39, %for.cond1.preheader ]258  %indvars.iv40 = phi i64 [ 0, %entry ], [ %indvars.iv.next41, %for.cond1.preheader ]259  %30 = load <2 x i64>, ptr null, align 8260  %31 = load <2 x i64>, ptr undef, align 8261  %arrayidx14.4.phi.trans.insert = getelementptr inbounds [8 x [8 x i64]], ptr @B, i64 0, i64 %indvars.iv40, i64 4262  %32 = load <2 x i64>, ptr null, align 8263  %arrayidx14.6.phi.trans.insert = getelementptr inbounds [8 x [8 x i64]], ptr @B, i64 0, i64 %indvars.iv40, i64 6264  %33 = bitcast ptr %arrayidx14.6.phi.trans.insert to ptr265  %34 = load <2 x i64>, ptr %33, align 8266  %35 = load i64, ptr null, align 8267  %36 = insertelement <2 x i64> undef, i64 %35, i32 0268  %37 = shufflevector <2 x i64> %36, <2 x i64> undef, <2 x i32> zeroinitializer269  %38 = mul nsw <2 x i64> %30, %37270  %39 = add nsw <2 x i64> %29, %38271  %40 = mul nsw <2 x i64> %31, %37272  %41 = add nsw <2 x i64> %28, %40273  %42 = mul nsw <2 x i64> %32, %37274  %43 = add nsw <2 x i64> %27, %42275  %44 = mul nsw <2 x i64> %34, %37276  %45 = add nsw <2 x i64> %26, %44277  %46 = load i64, ptr undef, align 8278  %47 = insertelement <2 x i64> undef, i64 %46, i32 0279  %48 = shufflevector <2 x i64> %47, <2 x i64> undef, <2 x i32> zeroinitializer280  %49 = mul nsw <2 x i64> %30, %48281  %50 = add nsw <2 x i64> %25, %49282  %51 = mul nsw <2 x i64> %31, %48283  %52 = add nsw <2 x i64> %24, %51284  %53 = mul nsw <2 x i64> %32, %48285  %54 = add nsw <2 x i64> %23, %53286  %55 = mul nsw <2 x i64> %34, %48287  %56 = add nsw <2 x i64> %22, %55288  %arrayidx10.2 = getelementptr inbounds [8 x [8 x i64]], ptr @A, i64 0, i64 2, i64 %indvars.iv40289  %57 = load i64, ptr %arrayidx10.2, align 8290  %58 = insertelement <2 x i64> undef, i64 %57, i32 0291  %59 = shufflevector <2 x i64> %58, <2 x i64> undef, <2 x i32> zeroinitializer292  %60 = mul nsw <2 x i64> %31, %59293  %61 = add nsw <2 x i64> %21, %60294  %62 = mul nsw <2 x i64> %32, %59295  %63 = add nsw <2 x i64> %20, %62296  %64 = mul nsw <2 x i64> %34, %59297  %65 = add nsw <2 x i64> %19, %64298  %66 = load i64, ptr undef, align 8299  %67 = insertelement <2 x i64> undef, i64 %66, i32 0300  %68 = shufflevector <2 x i64> %67, <2 x i64> undef, <2 x i32> zeroinitializer301  %69 = mul nsw <2 x i64> %30, %68302  %70 = add nsw <2 x i64> %18, %69303  %71 = mul nsw <2 x i64> %31, %68304  %72 = add nsw <2 x i64> %17, %71305  %73 = mul nsw <2 x i64> %34, %68306  %74 = add nsw <2 x i64> %16, %73307  %75 = load i64, ptr undef, align 8308  %76 = insertelement <2 x i64> undef, i64 %75, i32 0309  %77 = shufflevector <2 x i64> %76, <2 x i64> undef, <2 x i32> zeroinitializer310  %78 = mul nsw <2 x i64> %30, %77311  %79 = add nsw <2 x i64> %15, %78312  %80 = mul nsw <2 x i64> %31, %77313  %81 = add nsw <2 x i64> %14, %80314  %82 = mul nsw <2 x i64> %32, %77315  %83 = add nsw <2 x i64> %13, %82316  %84 = mul nsw <2 x i64> %34, %77317  %85 = add nsw <2 x i64> %12, %84318  %86 = load i64, ptr undef, align 8319  %87 = insertelement <2 x i64> undef, i64 %86, i32 0320  %88 = shufflevector <2 x i64> %87, <2 x i64> undef, <2 x i32> zeroinitializer321  %89 = mul nsw <2 x i64> %30, %88322  %90 = add nsw <2 x i64> %11, %89323  %91 = mul nsw <2 x i64> %31, %88324  %92 = add nsw <2 x i64> %10, %91325  %93 = mul nsw <2 x i64> %32, %88326  %94 = add nsw <2 x i64> %9, %93327  %95 = mul nsw <2 x i64> %34, %88328  %96 = add nsw <2 x i64> %8, %95329  %97 = load i64, ptr undef, align 8330  %98 = insertelement <2 x i64> undef, i64 %97, i32 0331  %99 = shufflevector <2 x i64> %98, <2 x i64> undef, <2 x i32> zeroinitializer332  %100 = mul nsw <2 x i64> %30, %99333  %101 = add nsw <2 x i64> %7, %100334  %102 = mul nsw <2 x i64> %31, %99335  %103 = add nsw <2 x i64> %6, %102336  %104 = mul nsw <2 x i64> %32, %99337  %105 = add nsw <2 x i64> %5, %104338  %106 = mul nsw <2 x i64> %34, %99339  %107 = add nsw <2 x i64> %4, %106340  %108 = load i64, ptr undef, align 8341  %109 = insertelement <2 x i64> undef, i64 %108, i32 0342  %110 = shufflevector <2 x i64> %109, <2 x i64> undef, <2 x i32> zeroinitializer343  %111 = mul nsw <2 x i64> %30, %110344  %112 = add nsw <2 x i64> %3, %111345  %113 = mul nsw <2 x i64> %31, %110346  %114 = add nsw <2 x i64> %2, %113347  %115 = mul nsw <2 x i64> %32, %110348  %116 = add nsw <2 x i64> %1, %115349  %117 = mul nsw <2 x i64> %34, %110350  %118 = add nsw <2 x i64> %0, %117351  %indvars.iv.next41 = add nuw nsw i64 %indvars.iv40, 1352  %exitcond42 = icmp eq i64 %indvars.iv.next41, 8353  br i1 %exitcond42, label %for.cond.cleanup, label %for.cond1.preheader354 355for.cond.cleanup:                                 ; preds = %for.cond1.preheader356  store <2 x i64> %39, ptr @C, align 8357  store <2 x i64> %41, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 0, i64 2), align 8358  store <2 x i64> %43, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 0, i64 4), align 8359  store <2 x i64> %45, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 0, i64 6), align 8360  store <2 x i64> %50, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 1, i64 0), align 8361  store <2 x i64> %52, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 1, i64 2), align 8362  store <2 x i64> %54, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 1, i64 4), align 8363  store <2 x i64> %56, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 1, i64 6), align 8364  store <2 x i64> %61, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 2, i64 2), align 8365  store <2 x i64> %63, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 2, i64 4), align 8366  store <2 x i64> %65, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 2, i64 6), align 8367  store <2 x i64> %70, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 3, i64 0), align 8368  store <2 x i64> %72, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 3, i64 2), align 8369  store <2 x i64> %74, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 3, i64 6), align 8370  store <2 x i64> %79, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 4, i64 0), align 8371  store <2 x i64> %81, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 4, i64 2), align 8372  store <2 x i64> %83, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 4, i64 4), align 8373  store <2 x i64> %85, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 4, i64 6), align 8374  store <2 x i64> %90, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 5, i64 0), align 8375  store <2 x i64> %92, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 5, i64 2), align 8376  store <2 x i64> %94, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 5, i64 4), align 8377  store <2 x i64> %96, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 5, i64 6), align 8378  store <2 x i64> %101, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 6, i64 0), align 8379  store <2 x i64> %103, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 6, i64 2), align 8380  store <2 x i64> %105, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 6, i64 4), align 8381  store <2 x i64> %107, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 6, i64 6), align 8382  store <2 x i64> %112, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 7, i64 0), align 8383  store <2 x i64> %114, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 7, i64 2), align 8384  store <2 x i64> %116, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 7, i64 4), align 8385  store <2 x i64> %118, ptr getelementptr inbounds ([8 x [8 x i64]], ptr @C, i64 0, i64 7, i64 6), align 8386  ret void387}388