Skip to content

Instantly share code, notes, and snippets.

@bjacob
Created March 5, 2021 03:33
Show Gist options
  • Save bjacob/9e402a85d1235ea19b71804cce533ac9 to your computer and use it in GitHub Desktop.
Save bjacob/9e402a85d1235ea19b71804cce533ac9 to your computer and use it in GitHub Desktop.

x.mlir is generated by mlir-proto-opt -convert-scf-to-std.

Next, I try:

$ cat /tmp/x.mlir | blaze-bin/third_party/iree/experimental/runners/mlir-proto-opt -convert-std-to-llvm 
<stdin>:59:11: error: 'std.tensor_load' op requires the same shape for all operands and results
    %14 = tensor_load %1 : memref<2x4x8x2xf32>
          ^
<stdin>:59:11: note: see current operation: %85 = "std.tensor_load"(%55) : (!llvm.struct<(ptr<f32>, ptr<f32>, i64, array<4 x i64>, array<4 x i64>)>) -> tensor<2x4x8x2xf32>
#map = affine_map<(d0, d1, d2, d3)[s0, s1, s2, s3, s4] -> (d0 * s1 + s0 + d1 * s2 + d2 * s3 + d3 * s4)>
module {
llvm.func @printNewline()
llvm.func @printClose()
llvm.func @printComma()
llvm.func @printOpen()
llvm.func @printF32(f32)
func @main() {
%cst = constant 0.000000e+00 : f32
%cst_0 = constant 2.000000e+00 : f32
%cst_1 = constant 3.000000e+00 : f32
%c4 = constant 4 : index
%c2 = constant 2 : index
%c3 = constant 3 : index
%c0 = constant 0 : index
%c8 = constant 8 : index
%c1 = constant 1 : index
%0 = alloca() : memref<2x3x8xvector<4xf32>>
%1 = alloc() : memref<2x4x8x2xf32>
%c0_2 = constant 0 : index
%c1_3 = constant 1 : index
%c2_4 = constant 2 : index
%c4_5 = constant 4 : index
%c8_6 = constant 8 : index
%c2_7 = constant 2 : index
br ^bb1(%c0_2 : index)
^bb1(%2: index): // 2 preds: ^bb0, ^bb11
%3 = cmpi slt, %2, %c2_4 : index
cond_br %3, ^bb2, ^bb12
^bb2: // pred: ^bb1
br ^bb3(%c0_2 : index)
^bb3(%4: index): // 2 preds: ^bb2, ^bb10
%5 = cmpi slt, %4, %c4_5 : index
cond_br %5, ^bb4, ^bb11
^bb4: // pred: ^bb3
br ^bb5(%c0_2 : index)
^bb5(%6: index): // 2 preds: ^bb4, ^bb9
%7 = cmpi slt, %6, %c8_6 : index
cond_br %7, ^bb6, ^bb10
^bb6: // pred: ^bb5
br ^bb7(%c0_2 : index)
^bb7(%8: index): // 2 preds: ^bb6, ^bb8
%9 = cmpi slt, %8, %c2_7 : index
cond_br %9, ^bb8, ^bb9
^bb8: // pred: ^bb7
store %cst_1, %1[%2, %4, %6, %8] : memref<2x4x8x2xf32>
%10 = addi %8, %c1_3 : index
br ^bb7(%10 : index)
^bb9: // pred: ^bb7
%11 = addi %6, %c1_3 : index
br ^bb5(%11 : index)
^bb10: // pred: ^bb5
%12 = addi %4, %c1_3 : index
br ^bb3(%12 : index)
^bb11: // pred: ^bb3
%13 = addi %2, %c1_3 : index
br ^bb1(%13 : index)
^bb12: // pred: ^bb1
%14 = tensor_load %1 : memref<2x4x8x2xf32>
%15 = tensor_to_memref %14 : memref<2x4x8x2xf32, #map>
%16 = alloc() : memref<3x4x4x2xf32>
%17 = alloc() : memref<2x3x8x4xf32>
br ^bb13(%c0 : index)
^bb13(%18: index): // 2 preds: ^bb12, ^bb23
%19 = cmpi slt, %18, %c3 : index
cond_br %19, ^bb14, ^bb24
^bb14: // pred: ^bb13
br ^bb15(%c0 : index)
^bb15(%20: index): // 2 preds: ^bb14, ^bb22
%21 = cmpi slt, %20, %c4 : index
cond_br %21, ^bb16, ^bb23
^bb16: // pred: ^bb15
br ^bb17(%c0 : index)
^bb17(%22: index): // 2 preds: ^bb16, ^bb21
%23 = cmpi slt, %22, %c4 : index
cond_br %23, ^bb18, ^bb22
^bb18: // pred: ^bb17
br ^bb19(%c0 : index)
^bb19(%24: index): // 2 preds: ^bb18, ^bb20
%25 = cmpi slt, %24, %c2 : index
cond_br %25, ^bb20, ^bb21
^bb20: // pred: ^bb19
store %cst_0, %16[%18, %20, %22, %24] : memref<3x4x4x2xf32>
%26 = addi %24, %c1 : index
br ^bb19(%26 : index)
^bb21: // pred: ^bb19
%27 = addi %22, %c1 : index
br ^bb17(%27 : index)
^bb22: // pred: ^bb17
%28 = addi %20, %c1 : index
br ^bb15(%28 : index)
^bb23: // pred: ^bb15
%29 = addi %18, %c1 : index
br ^bb13(%29 : index)
^bb24: // pred: ^bb13
br ^bb25(%c0 : index)
^bb25(%30: index): // 2 preds: ^bb24, ^bb35
%31 = cmpi slt, %30, %c2 : index
cond_br %31, ^bb26, ^bb36
^bb26: // pred: ^bb25
br ^bb27(%c0 : index)
^bb27(%32: index): // 2 preds: ^bb26, ^bb34
%33 = cmpi slt, %32, %c3 : index
cond_br %33, ^bb28, ^bb35
^bb28: // pred: ^bb27
br ^bb29(%c0 : index)
^bb29(%34: index): // 2 preds: ^bb28, ^bb33
%35 = cmpi slt, %34, %c8 : index
cond_br %35, ^bb30, ^bb34
^bb30: // pred: ^bb29
br ^bb31(%c0 : index)
^bb31(%36: index): // 2 preds: ^bb30, ^bb32
%37 = cmpi slt, %36, %c4 : index
cond_br %37, ^bb32, ^bb33
^bb32: // pred: ^bb31
store %cst, %17[%30, %32, %34, %36] : memref<2x3x8x4xf32>
%38 = addi %36, %c1 : index
br ^bb31(%38 : index)
^bb33: // pred: ^bb31
%39 = addi %34, %c1 : index
br ^bb29(%39 : index)
^bb34: // pred: ^bb29
%40 = addi %32, %c1 : index
br ^bb27(%40 : index)
^bb35: // pred: ^bb27
%41 = addi %30, %c1 : index
br ^bb25(%41 : index)
^bb36: // pred: ^bb25
br ^bb37(%c0 : index)
^bb37(%42: index): // 2 preds: ^bb36, ^bb53
%43 = cmpi slt, %42, %c2 : index
cond_br %43, ^bb38, ^bb54
^bb38: // pred: ^bb37
br ^bb39(%c0 : index)
^bb39(%44: index): // 2 preds: ^bb38, ^bb52
%45 = cmpi slt, %44, %c3 : index
cond_br %45, ^bb40, ^bb53
^bb40: // pred: ^bb39
br ^bb41(%c0 : index)
^bb41(%46: index): // 2 preds: ^bb40, ^bb51
%47 = cmpi slt, %46, %c4 : index
cond_br %47, ^bb42, ^bb52
^bb42: // pred: ^bb41
br ^bb43(%c0 : index)
^bb43(%48: index): // 2 preds: ^bb42, ^bb50
%49 = cmpi slt, %48, %c8 : index
cond_br %49, ^bb44, ^bb51
^bb44: // pred: ^bb43
br ^bb45(%c0 : index)
^bb45(%50: index): // 2 preds: ^bb44, ^bb49
%51 = cmpi slt, %50, %c4 : index
cond_br %51, ^bb46, ^bb50
^bb46: // pred: ^bb45
br ^bb47(%c0 : index)
^bb47(%52: index): // 2 preds: ^bb46, ^bb48
%53 = cmpi slt, %52, %c2 : index
cond_br %53, ^bb48, ^bb49
^bb48: // pred: ^bb47
%54 = load %16[%44, %46, %50, %52] : memref<3x4x4x2xf32>
%55 = load %17[%42, %44, %48, %50] : memref<2x3x8x4xf32>
%56 = mulf %cst_1, %54 : f32
%57 = addf %55, %56 : f32
store %57, %17[%42, %44, %48, %50] : memref<2x3x8x4xf32>
%58 = addi %52, %c1 : index
br ^bb47(%58 : index)
^bb49: // pred: ^bb47
%59 = addi %50, %c1 : index
br ^bb45(%59 : index)
^bb50: // pred: ^bb45
%60 = addi %48, %c1 : index
br ^bb43(%60 : index)
^bb51: // pred: ^bb43
%61 = addi %46, %c1 : index
br ^bb41(%61 : index)
^bb52: // pred: ^bb41
%62 = addi %44, %c1 : index
br ^bb39(%62 : index)
^bb53: // pred: ^bb39
%63 = addi %42, %c1 : index
br ^bb37(%63 : index)
^bb54: // pred: ^bb37
br ^bb55(%c0 : index)
^bb55(%64: index): // 2 preds: ^bb54, ^bb62
%65 = cmpi slt, %64, %c2 : index
cond_br %65, ^bb56, ^bb63
^bb56: // pred: ^bb55
br ^bb57(%c0 : index)
^bb57(%66: index): // 2 preds: ^bb56, ^bb61
%67 = cmpi slt, %66, %c3 : index
cond_br %67, ^bb58, ^bb62
^bb58: // pred: ^bb57
br ^bb59(%c0 : index)
^bb59(%68: index): // 2 preds: ^bb58, ^bb60
%69 = cmpi slt, %68, %c8 : index
cond_br %69, ^bb60, ^bb61
^bb60: // pred: ^bb59
%70 = llvm.mlir.cast %17 : memref<2x3x8x4xf32> to !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<4 x i64>, array<4 x i64>)>
%71 = llvm.mlir.cast %64 : index to i64
%72 = llvm.mlir.cast %66 : index to i64
%73 = llvm.mlir.cast %68 : index to i64
%74 = llvm.mlir.cast %c0 : index to i64
%75 = llvm.extractvalue %70[1] : !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<4 x i64>, array<4 x i64>)>
%76 = llvm.mlir.constant(96 : index) : i64
%77 = llvm.mul %71, %76 : i64
%78 = llvm.mlir.constant(32 : index) : i64
%79 = llvm.mul %72, %78 : i64
%80 = llvm.add %77, %79 : i64
%81 = llvm.mlir.constant(4 : index) : i64
%82 = llvm.mul %73, %81 : i64
%83 = llvm.add %80, %82 : i64
%84 = llvm.add %83, %74 : i64
%85 = llvm.getelementptr %75[%84] : (!llvm.ptr<f32>, i64) -> !llvm.ptr<f32>
%86 = llvm.bitcast %85 : !llvm.ptr<f32> to !llvm.ptr<vector<4xf32>>
%87 = llvm.load %86 {alignment = 4 : i64} : !llvm.ptr<vector<4xf32>>
store %87, %0[%64, %66, %68] : memref<2x3x8xvector<4xf32>>
%88 = addi %68, %c1 : index
br ^bb59(%88 : index)
^bb61: // pred: ^bb59
%89 = addi %66, %c1 : index
br ^bb57(%89 : index)
^bb62: // pred: ^bb57
%90 = addi %64, %c1 : index
br ^bb55(%90 : index)
^bb63: // pred: ^bb55
%91 = llvm.mlir.cast %0 : memref<2x3x8xvector<4xf32>> to !llvm.struct<(ptr<vector<4xf32>>, ptr<vector<4xf32>>, i64, array<3 x i64>, array<3 x i64>)>
%92 = llvm.mlir.undef : !llvm.struct<(ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, i64)>
%93 = llvm.extractvalue %91[0] : !llvm.struct<(ptr<vector<4xf32>>, ptr<vector<4xf32>>, i64, array<3 x i64>, array<3 x i64>)>
%94 = llvm.bitcast %93 : !llvm.ptr<vector<4xf32>> to !llvm.ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>
%95 = llvm.insertvalue %94, %92[0] : !llvm.struct<(ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, i64)>
%96 = llvm.extractvalue %91[1] : !llvm.struct<(ptr<vector<4xf32>>, ptr<vector<4xf32>>, i64, array<3 x i64>, array<3 x i64>)>
%97 = llvm.bitcast %96 : !llvm.ptr<vector<4xf32>> to !llvm.ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>
%98 = llvm.insertvalue %97, %95[1] : !llvm.struct<(ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, i64)>
%99 = llvm.mlir.constant(0 : index) : i64
%100 = llvm.insertvalue %99, %98[2] : !llvm.struct<(ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, i64)>
%101 = llvm.mlir.cast %100 : !llvm.struct<(ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, ptr<array<2 x array<3 x array<8 x vector<4xf32>>>>>, i64)> to memref<vector<2x3x8x4xf32>>
%102 = load %101[] : memref<vector<2x3x8x4xf32>>
%103 = llvm.mlir.cast %102 : vector<2x3x8x4xf32> to !llvm.array<2 x array<3 x array<8 x vector<4xf32>>>>
llvm.call @printOpen() : () -> ()
%104 = llvm.extractvalue %103[0] : !llvm.array<2 x array<3 x array<8 x vector<4xf32>>>>
llvm.call @printOpen() : () -> ()
%105 = llvm.extractvalue %104[0] : !llvm.array<3 x array<8 x vector<4xf32>>>
llvm.call @printOpen() : () -> ()
%106 = llvm.extractvalue %105[0] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%107 = llvm.mlir.constant(0 : index) : i64
%108 = llvm.extractelement %106[%107 : i64] : vector<4xf32>
llvm.call @printF32(%108) : (f32) -> ()
llvm.call @printComma() : () -> ()
%109 = llvm.mlir.constant(1 : index) : i64
%110 = llvm.extractelement %106[%109 : i64] : vector<4xf32>
llvm.call @printF32(%110) : (f32) -> ()
llvm.call @printComma() : () -> ()
%111 = llvm.mlir.constant(2 : index) : i64
%112 = llvm.extractelement %106[%111 : i64] : vector<4xf32>
llvm.call @printF32(%112) : (f32) -> ()
llvm.call @printComma() : () -> ()
%113 = llvm.mlir.constant(3 : index) : i64
%114 = llvm.extractelement %106[%113 : i64] : vector<4xf32>
llvm.call @printF32(%114) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%115 = llvm.extractvalue %105[1] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%116 = llvm.mlir.constant(0 : index) : i64
%117 = llvm.extractelement %115[%116 : i64] : vector<4xf32>
llvm.call @printF32(%117) : (f32) -> ()
llvm.call @printComma() : () -> ()
%118 = llvm.mlir.constant(1 : index) : i64
%119 = llvm.extractelement %115[%118 : i64] : vector<4xf32>
llvm.call @printF32(%119) : (f32) -> ()
llvm.call @printComma() : () -> ()
%120 = llvm.mlir.constant(2 : index) : i64
%121 = llvm.extractelement %115[%120 : i64] : vector<4xf32>
llvm.call @printF32(%121) : (f32) -> ()
llvm.call @printComma() : () -> ()
%122 = llvm.mlir.constant(3 : index) : i64
%123 = llvm.extractelement %115[%122 : i64] : vector<4xf32>
llvm.call @printF32(%123) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%124 = llvm.extractvalue %105[2] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%125 = llvm.mlir.constant(0 : index) : i64
%126 = llvm.extractelement %124[%125 : i64] : vector<4xf32>
llvm.call @printF32(%126) : (f32) -> ()
llvm.call @printComma() : () -> ()
%127 = llvm.mlir.constant(1 : index) : i64
%128 = llvm.extractelement %124[%127 : i64] : vector<4xf32>
llvm.call @printF32(%128) : (f32) -> ()
llvm.call @printComma() : () -> ()
%129 = llvm.mlir.constant(2 : index) : i64
%130 = llvm.extractelement %124[%129 : i64] : vector<4xf32>
llvm.call @printF32(%130) : (f32) -> ()
llvm.call @printComma() : () -> ()
%131 = llvm.mlir.constant(3 : index) : i64
%132 = llvm.extractelement %124[%131 : i64] : vector<4xf32>
llvm.call @printF32(%132) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%133 = llvm.extractvalue %105[3] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%134 = llvm.mlir.constant(0 : index) : i64
%135 = llvm.extractelement %133[%134 : i64] : vector<4xf32>
llvm.call @printF32(%135) : (f32) -> ()
llvm.call @printComma() : () -> ()
%136 = llvm.mlir.constant(1 : index) : i64
%137 = llvm.extractelement %133[%136 : i64] : vector<4xf32>
llvm.call @printF32(%137) : (f32) -> ()
llvm.call @printComma() : () -> ()
%138 = llvm.mlir.constant(2 : index) : i64
%139 = llvm.extractelement %133[%138 : i64] : vector<4xf32>
llvm.call @printF32(%139) : (f32) -> ()
llvm.call @printComma() : () -> ()
%140 = llvm.mlir.constant(3 : index) : i64
%141 = llvm.extractelement %133[%140 : i64] : vector<4xf32>
llvm.call @printF32(%141) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%142 = llvm.extractvalue %105[4] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%143 = llvm.mlir.constant(0 : index) : i64
%144 = llvm.extractelement %142[%143 : i64] : vector<4xf32>
llvm.call @printF32(%144) : (f32) -> ()
llvm.call @printComma() : () -> ()
%145 = llvm.mlir.constant(1 : index) : i64
%146 = llvm.extractelement %142[%145 : i64] : vector<4xf32>
llvm.call @printF32(%146) : (f32) -> ()
llvm.call @printComma() : () -> ()
%147 = llvm.mlir.constant(2 : index) : i64
%148 = llvm.extractelement %142[%147 : i64] : vector<4xf32>
llvm.call @printF32(%148) : (f32) -> ()
llvm.call @printComma() : () -> ()
%149 = llvm.mlir.constant(3 : index) : i64
%150 = llvm.extractelement %142[%149 : i64] : vector<4xf32>
llvm.call @printF32(%150) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%151 = llvm.extractvalue %105[5] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%152 = llvm.mlir.constant(0 : index) : i64
%153 = llvm.extractelement %151[%152 : i64] : vector<4xf32>
llvm.call @printF32(%153) : (f32) -> ()
llvm.call @printComma() : () -> ()
%154 = llvm.mlir.constant(1 : index) : i64
%155 = llvm.extractelement %151[%154 : i64] : vector<4xf32>
llvm.call @printF32(%155) : (f32) -> ()
llvm.call @printComma() : () -> ()
%156 = llvm.mlir.constant(2 : index) : i64
%157 = llvm.extractelement %151[%156 : i64] : vector<4xf32>
llvm.call @printF32(%157) : (f32) -> ()
llvm.call @printComma() : () -> ()
%158 = llvm.mlir.constant(3 : index) : i64
%159 = llvm.extractelement %151[%158 : i64] : vector<4xf32>
llvm.call @printF32(%159) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%160 = llvm.extractvalue %105[6] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%161 = llvm.mlir.constant(0 : index) : i64
%162 = llvm.extractelement %160[%161 : i64] : vector<4xf32>
llvm.call @printF32(%162) : (f32) -> ()
llvm.call @printComma() : () -> ()
%163 = llvm.mlir.constant(1 : index) : i64
%164 = llvm.extractelement %160[%163 : i64] : vector<4xf32>
llvm.call @printF32(%164) : (f32) -> ()
llvm.call @printComma() : () -> ()
%165 = llvm.mlir.constant(2 : index) : i64
%166 = llvm.extractelement %160[%165 : i64] : vector<4xf32>
llvm.call @printF32(%166) : (f32) -> ()
llvm.call @printComma() : () -> ()
%167 = llvm.mlir.constant(3 : index) : i64
%168 = llvm.extractelement %160[%167 : i64] : vector<4xf32>
llvm.call @printF32(%168) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%169 = llvm.extractvalue %105[7] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%170 = llvm.mlir.constant(0 : index) : i64
%171 = llvm.extractelement %169[%170 : i64] : vector<4xf32>
llvm.call @printF32(%171) : (f32) -> ()
llvm.call @printComma() : () -> ()
%172 = llvm.mlir.constant(1 : index) : i64
%173 = llvm.extractelement %169[%172 : i64] : vector<4xf32>
llvm.call @printF32(%173) : (f32) -> ()
llvm.call @printComma() : () -> ()
%174 = llvm.mlir.constant(2 : index) : i64
%175 = llvm.extractelement %169[%174 : i64] : vector<4xf32>
llvm.call @printF32(%175) : (f32) -> ()
llvm.call @printComma() : () -> ()
%176 = llvm.mlir.constant(3 : index) : i64
%177 = llvm.extractelement %169[%176 : i64] : vector<4xf32>
llvm.call @printF32(%177) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%178 = llvm.extractvalue %104[1] : !llvm.array<3 x array<8 x vector<4xf32>>>
llvm.call @printOpen() : () -> ()
%179 = llvm.extractvalue %178[0] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%180 = llvm.mlir.constant(0 : index) : i64
%181 = llvm.extractelement %179[%180 : i64] : vector<4xf32>
llvm.call @printF32(%181) : (f32) -> ()
llvm.call @printComma() : () -> ()
%182 = llvm.mlir.constant(1 : index) : i64
%183 = llvm.extractelement %179[%182 : i64] : vector<4xf32>
llvm.call @printF32(%183) : (f32) -> ()
llvm.call @printComma() : () -> ()
%184 = llvm.mlir.constant(2 : index) : i64
%185 = llvm.extractelement %179[%184 : i64] : vector<4xf32>
llvm.call @printF32(%185) : (f32) -> ()
llvm.call @printComma() : () -> ()
%186 = llvm.mlir.constant(3 : index) : i64
%187 = llvm.extractelement %179[%186 : i64] : vector<4xf32>
llvm.call @printF32(%187) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%188 = llvm.extractvalue %178[1] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%189 = llvm.mlir.constant(0 : index) : i64
%190 = llvm.extractelement %188[%189 : i64] : vector<4xf32>
llvm.call @printF32(%190) : (f32) -> ()
llvm.call @printComma() : () -> ()
%191 = llvm.mlir.constant(1 : index) : i64
%192 = llvm.extractelement %188[%191 : i64] : vector<4xf32>
llvm.call @printF32(%192) : (f32) -> ()
llvm.call @printComma() : () -> ()
%193 = llvm.mlir.constant(2 : index) : i64
%194 = llvm.extractelement %188[%193 : i64] : vector<4xf32>
llvm.call @printF32(%194) : (f32) -> ()
llvm.call @printComma() : () -> ()
%195 = llvm.mlir.constant(3 : index) : i64
%196 = llvm.extractelement %188[%195 : i64] : vector<4xf32>
llvm.call @printF32(%196) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%197 = llvm.extractvalue %178[2] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%198 = llvm.mlir.constant(0 : index) : i64
%199 = llvm.extractelement %197[%198 : i64] : vector<4xf32>
llvm.call @printF32(%199) : (f32) -> ()
llvm.call @printComma() : () -> ()
%200 = llvm.mlir.constant(1 : index) : i64
%201 = llvm.extractelement %197[%200 : i64] : vector<4xf32>
llvm.call @printF32(%201) : (f32) -> ()
llvm.call @printComma() : () -> ()
%202 = llvm.mlir.constant(2 : index) : i64
%203 = llvm.extractelement %197[%202 : i64] : vector<4xf32>
llvm.call @printF32(%203) : (f32) -> ()
llvm.call @printComma() : () -> ()
%204 = llvm.mlir.constant(3 : index) : i64
%205 = llvm.extractelement %197[%204 : i64] : vector<4xf32>
llvm.call @printF32(%205) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%206 = llvm.extractvalue %178[3] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%207 = llvm.mlir.constant(0 : index) : i64
%208 = llvm.extractelement %206[%207 : i64] : vector<4xf32>
llvm.call @printF32(%208) : (f32) -> ()
llvm.call @printComma() : () -> ()
%209 = llvm.mlir.constant(1 : index) : i64
%210 = llvm.extractelement %206[%209 : i64] : vector<4xf32>
llvm.call @printF32(%210) : (f32) -> ()
llvm.call @printComma() : () -> ()
%211 = llvm.mlir.constant(2 : index) : i64
%212 = llvm.extractelement %206[%211 : i64] : vector<4xf32>
llvm.call @printF32(%212) : (f32) -> ()
llvm.call @printComma() : () -> ()
%213 = llvm.mlir.constant(3 : index) : i64
%214 = llvm.extractelement %206[%213 : i64] : vector<4xf32>
llvm.call @printF32(%214) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%215 = llvm.extractvalue %178[4] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%216 = llvm.mlir.constant(0 : index) : i64
%217 = llvm.extractelement %215[%216 : i64] : vector<4xf32>
llvm.call @printF32(%217) : (f32) -> ()
llvm.call @printComma() : () -> ()
%218 = llvm.mlir.constant(1 : index) : i64
%219 = llvm.extractelement %215[%218 : i64] : vector<4xf32>
llvm.call @printF32(%219) : (f32) -> ()
llvm.call @printComma() : () -> ()
%220 = llvm.mlir.constant(2 : index) : i64
%221 = llvm.extractelement %215[%220 : i64] : vector<4xf32>
llvm.call @printF32(%221) : (f32) -> ()
llvm.call @printComma() : () -> ()
%222 = llvm.mlir.constant(3 : index) : i64
%223 = llvm.extractelement %215[%222 : i64] : vector<4xf32>
llvm.call @printF32(%223) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%224 = llvm.extractvalue %178[5] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%225 = llvm.mlir.constant(0 : index) : i64
%226 = llvm.extractelement %224[%225 : i64] : vector<4xf32>
llvm.call @printF32(%226) : (f32) -> ()
llvm.call @printComma() : () -> ()
%227 = llvm.mlir.constant(1 : index) : i64
%228 = llvm.extractelement %224[%227 : i64] : vector<4xf32>
llvm.call @printF32(%228) : (f32) -> ()
llvm.call @printComma() : () -> ()
%229 = llvm.mlir.constant(2 : index) : i64
%230 = llvm.extractelement %224[%229 : i64] : vector<4xf32>
llvm.call @printF32(%230) : (f32) -> ()
llvm.call @printComma() : () -> ()
%231 = llvm.mlir.constant(3 : index) : i64
%232 = llvm.extractelement %224[%231 : i64] : vector<4xf32>
llvm.call @printF32(%232) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%233 = llvm.extractvalue %178[6] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%234 = llvm.mlir.constant(0 : index) : i64
%235 = llvm.extractelement %233[%234 : i64] : vector<4xf32>
llvm.call @printF32(%235) : (f32) -> ()
llvm.call @printComma() : () -> ()
%236 = llvm.mlir.constant(1 : index) : i64
%237 = llvm.extractelement %233[%236 : i64] : vector<4xf32>
llvm.call @printF32(%237) : (f32) -> ()
llvm.call @printComma() : () -> ()
%238 = llvm.mlir.constant(2 : index) : i64
%239 = llvm.extractelement %233[%238 : i64] : vector<4xf32>
llvm.call @printF32(%239) : (f32) -> ()
llvm.call @printComma() : () -> ()
%240 = llvm.mlir.constant(3 : index) : i64
%241 = llvm.extractelement %233[%240 : i64] : vector<4xf32>
llvm.call @printF32(%241) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%242 = llvm.extractvalue %178[7] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%243 = llvm.mlir.constant(0 : index) : i64
%244 = llvm.extractelement %242[%243 : i64] : vector<4xf32>
llvm.call @printF32(%244) : (f32) -> ()
llvm.call @printComma() : () -> ()
%245 = llvm.mlir.constant(1 : index) : i64
%246 = llvm.extractelement %242[%245 : i64] : vector<4xf32>
llvm.call @printF32(%246) : (f32) -> ()
llvm.call @printComma() : () -> ()
%247 = llvm.mlir.constant(2 : index) : i64
%248 = llvm.extractelement %242[%247 : i64] : vector<4xf32>
llvm.call @printF32(%248) : (f32) -> ()
llvm.call @printComma() : () -> ()
%249 = llvm.mlir.constant(3 : index) : i64
%250 = llvm.extractelement %242[%249 : i64] : vector<4xf32>
llvm.call @printF32(%250) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%251 = llvm.extractvalue %104[2] : !llvm.array<3 x array<8 x vector<4xf32>>>
llvm.call @printOpen() : () -> ()
%252 = llvm.extractvalue %251[0] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%253 = llvm.mlir.constant(0 : index) : i64
%254 = llvm.extractelement %252[%253 : i64] : vector<4xf32>
llvm.call @printF32(%254) : (f32) -> ()
llvm.call @printComma() : () -> ()
%255 = llvm.mlir.constant(1 : index) : i64
%256 = llvm.extractelement %252[%255 : i64] : vector<4xf32>
llvm.call @printF32(%256) : (f32) -> ()
llvm.call @printComma() : () -> ()
%257 = llvm.mlir.constant(2 : index) : i64
%258 = llvm.extractelement %252[%257 : i64] : vector<4xf32>
llvm.call @printF32(%258) : (f32) -> ()
llvm.call @printComma() : () -> ()
%259 = llvm.mlir.constant(3 : index) : i64
%260 = llvm.extractelement %252[%259 : i64] : vector<4xf32>
llvm.call @printF32(%260) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%261 = llvm.extractvalue %251[1] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%262 = llvm.mlir.constant(0 : index) : i64
%263 = llvm.extractelement %261[%262 : i64] : vector<4xf32>
llvm.call @printF32(%263) : (f32) -> ()
llvm.call @printComma() : () -> ()
%264 = llvm.mlir.constant(1 : index) : i64
%265 = llvm.extractelement %261[%264 : i64] : vector<4xf32>
llvm.call @printF32(%265) : (f32) -> ()
llvm.call @printComma() : () -> ()
%266 = llvm.mlir.constant(2 : index) : i64
%267 = llvm.extractelement %261[%266 : i64] : vector<4xf32>
llvm.call @printF32(%267) : (f32) -> ()
llvm.call @printComma() : () -> ()
%268 = llvm.mlir.constant(3 : index) : i64
%269 = llvm.extractelement %261[%268 : i64] : vector<4xf32>
llvm.call @printF32(%269) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%270 = llvm.extractvalue %251[2] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%271 = llvm.mlir.constant(0 : index) : i64
%272 = llvm.extractelement %270[%271 : i64] : vector<4xf32>
llvm.call @printF32(%272) : (f32) -> ()
llvm.call @printComma() : () -> ()
%273 = llvm.mlir.constant(1 : index) : i64
%274 = llvm.extractelement %270[%273 : i64] : vector<4xf32>
llvm.call @printF32(%274) : (f32) -> ()
llvm.call @printComma() : () -> ()
%275 = llvm.mlir.constant(2 : index) : i64
%276 = llvm.extractelement %270[%275 : i64] : vector<4xf32>
llvm.call @printF32(%276) : (f32) -> ()
llvm.call @printComma() : () -> ()
%277 = llvm.mlir.constant(3 : index) : i64
%278 = llvm.extractelement %270[%277 : i64] : vector<4xf32>
llvm.call @printF32(%278) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%279 = llvm.extractvalue %251[3] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%280 = llvm.mlir.constant(0 : index) : i64
%281 = llvm.extractelement %279[%280 : i64] : vector<4xf32>
llvm.call @printF32(%281) : (f32) -> ()
llvm.call @printComma() : () -> ()
%282 = llvm.mlir.constant(1 : index) : i64
%283 = llvm.extractelement %279[%282 : i64] : vector<4xf32>
llvm.call @printF32(%283) : (f32) -> ()
llvm.call @printComma() : () -> ()
%284 = llvm.mlir.constant(2 : index) : i64
%285 = llvm.extractelement %279[%284 : i64] : vector<4xf32>
llvm.call @printF32(%285) : (f32) -> ()
llvm.call @printComma() : () -> ()
%286 = llvm.mlir.constant(3 : index) : i64
%287 = llvm.extractelement %279[%286 : i64] : vector<4xf32>
llvm.call @printF32(%287) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%288 = llvm.extractvalue %251[4] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%289 = llvm.mlir.constant(0 : index) : i64
%290 = llvm.extractelement %288[%289 : i64] : vector<4xf32>
llvm.call @printF32(%290) : (f32) -> ()
llvm.call @printComma() : () -> ()
%291 = llvm.mlir.constant(1 : index) : i64
%292 = llvm.extractelement %288[%291 : i64] : vector<4xf32>
llvm.call @printF32(%292) : (f32) -> ()
llvm.call @printComma() : () -> ()
%293 = llvm.mlir.constant(2 : index) : i64
%294 = llvm.extractelement %288[%293 : i64] : vector<4xf32>
llvm.call @printF32(%294) : (f32) -> ()
llvm.call @printComma() : () -> ()
%295 = llvm.mlir.constant(3 : index) : i64
%296 = llvm.extractelement %288[%295 : i64] : vector<4xf32>
llvm.call @printF32(%296) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%297 = llvm.extractvalue %251[5] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%298 = llvm.mlir.constant(0 : index) : i64
%299 = llvm.extractelement %297[%298 : i64] : vector<4xf32>
llvm.call @printF32(%299) : (f32) -> ()
llvm.call @printComma() : () -> ()
%300 = llvm.mlir.constant(1 : index) : i64
%301 = llvm.extractelement %297[%300 : i64] : vector<4xf32>
llvm.call @printF32(%301) : (f32) -> ()
llvm.call @printComma() : () -> ()
%302 = llvm.mlir.constant(2 : index) : i64
%303 = llvm.extractelement %297[%302 : i64] : vector<4xf32>
llvm.call @printF32(%303) : (f32) -> ()
llvm.call @printComma() : () -> ()
%304 = llvm.mlir.constant(3 : index) : i64
%305 = llvm.extractelement %297[%304 : i64] : vector<4xf32>
llvm.call @printF32(%305) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%306 = llvm.extractvalue %251[6] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%307 = llvm.mlir.constant(0 : index) : i64
%308 = llvm.extractelement %306[%307 : i64] : vector<4xf32>
llvm.call @printF32(%308) : (f32) -> ()
llvm.call @printComma() : () -> ()
%309 = llvm.mlir.constant(1 : index) : i64
%310 = llvm.extractelement %306[%309 : i64] : vector<4xf32>
llvm.call @printF32(%310) : (f32) -> ()
llvm.call @printComma() : () -> ()
%311 = llvm.mlir.constant(2 : index) : i64
%312 = llvm.extractelement %306[%311 : i64] : vector<4xf32>
llvm.call @printF32(%312) : (f32) -> ()
llvm.call @printComma() : () -> ()
%313 = llvm.mlir.constant(3 : index) : i64
%314 = llvm.extractelement %306[%313 : i64] : vector<4xf32>
llvm.call @printF32(%314) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%315 = llvm.extractvalue %251[7] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%316 = llvm.mlir.constant(0 : index) : i64
%317 = llvm.extractelement %315[%316 : i64] : vector<4xf32>
llvm.call @printF32(%317) : (f32) -> ()
llvm.call @printComma() : () -> ()
%318 = llvm.mlir.constant(1 : index) : i64
%319 = llvm.extractelement %315[%318 : i64] : vector<4xf32>
llvm.call @printF32(%319) : (f32) -> ()
llvm.call @printComma() : () -> ()
%320 = llvm.mlir.constant(2 : index) : i64
%321 = llvm.extractelement %315[%320 : i64] : vector<4xf32>
llvm.call @printF32(%321) : (f32) -> ()
llvm.call @printComma() : () -> ()
%322 = llvm.mlir.constant(3 : index) : i64
%323 = llvm.extractelement %315[%322 : i64] : vector<4xf32>
llvm.call @printF32(%323) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%324 = llvm.extractvalue %103[1] : !llvm.array<2 x array<3 x array<8 x vector<4xf32>>>>
llvm.call @printOpen() : () -> ()
%325 = llvm.extractvalue %324[0] : !llvm.array<3 x array<8 x vector<4xf32>>>
llvm.call @printOpen() : () -> ()
%326 = llvm.extractvalue %325[0] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%327 = llvm.mlir.constant(0 : index) : i64
%328 = llvm.extractelement %326[%327 : i64] : vector<4xf32>
llvm.call @printF32(%328) : (f32) -> ()
llvm.call @printComma() : () -> ()
%329 = llvm.mlir.constant(1 : index) : i64
%330 = llvm.extractelement %326[%329 : i64] : vector<4xf32>
llvm.call @printF32(%330) : (f32) -> ()
llvm.call @printComma() : () -> ()
%331 = llvm.mlir.constant(2 : index) : i64
%332 = llvm.extractelement %326[%331 : i64] : vector<4xf32>
llvm.call @printF32(%332) : (f32) -> ()
llvm.call @printComma() : () -> ()
%333 = llvm.mlir.constant(3 : index) : i64
%334 = llvm.extractelement %326[%333 : i64] : vector<4xf32>
llvm.call @printF32(%334) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%335 = llvm.extractvalue %325[1] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%336 = llvm.mlir.constant(0 : index) : i64
%337 = llvm.extractelement %335[%336 : i64] : vector<4xf32>
llvm.call @printF32(%337) : (f32) -> ()
llvm.call @printComma() : () -> ()
%338 = llvm.mlir.constant(1 : index) : i64
%339 = llvm.extractelement %335[%338 : i64] : vector<4xf32>
llvm.call @printF32(%339) : (f32) -> ()
llvm.call @printComma() : () -> ()
%340 = llvm.mlir.constant(2 : index) : i64
%341 = llvm.extractelement %335[%340 : i64] : vector<4xf32>
llvm.call @printF32(%341) : (f32) -> ()
llvm.call @printComma() : () -> ()
%342 = llvm.mlir.constant(3 : index) : i64
%343 = llvm.extractelement %335[%342 : i64] : vector<4xf32>
llvm.call @printF32(%343) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%344 = llvm.extractvalue %325[2] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%345 = llvm.mlir.constant(0 : index) : i64
%346 = llvm.extractelement %344[%345 : i64] : vector<4xf32>
llvm.call @printF32(%346) : (f32) -> ()
llvm.call @printComma() : () -> ()
%347 = llvm.mlir.constant(1 : index) : i64
%348 = llvm.extractelement %344[%347 : i64] : vector<4xf32>
llvm.call @printF32(%348) : (f32) -> ()
llvm.call @printComma() : () -> ()
%349 = llvm.mlir.constant(2 : index) : i64
%350 = llvm.extractelement %344[%349 : i64] : vector<4xf32>
llvm.call @printF32(%350) : (f32) -> ()
llvm.call @printComma() : () -> ()
%351 = llvm.mlir.constant(3 : index) : i64
%352 = llvm.extractelement %344[%351 : i64] : vector<4xf32>
llvm.call @printF32(%352) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%353 = llvm.extractvalue %325[3] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%354 = llvm.mlir.constant(0 : index) : i64
%355 = llvm.extractelement %353[%354 : i64] : vector<4xf32>
llvm.call @printF32(%355) : (f32) -> ()
llvm.call @printComma() : () -> ()
%356 = llvm.mlir.constant(1 : index) : i64
%357 = llvm.extractelement %353[%356 : i64] : vector<4xf32>
llvm.call @printF32(%357) : (f32) -> ()
llvm.call @printComma() : () -> ()
%358 = llvm.mlir.constant(2 : index) : i64
%359 = llvm.extractelement %353[%358 : i64] : vector<4xf32>
llvm.call @printF32(%359) : (f32) -> ()
llvm.call @printComma() : () -> ()
%360 = llvm.mlir.constant(3 : index) : i64
%361 = llvm.extractelement %353[%360 : i64] : vector<4xf32>
llvm.call @printF32(%361) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%362 = llvm.extractvalue %325[4] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%363 = llvm.mlir.constant(0 : index) : i64
%364 = llvm.extractelement %362[%363 : i64] : vector<4xf32>
llvm.call @printF32(%364) : (f32) -> ()
llvm.call @printComma() : () -> ()
%365 = llvm.mlir.constant(1 : index) : i64
%366 = llvm.extractelement %362[%365 : i64] : vector<4xf32>
llvm.call @printF32(%366) : (f32) -> ()
llvm.call @printComma() : () -> ()
%367 = llvm.mlir.constant(2 : index) : i64
%368 = llvm.extractelement %362[%367 : i64] : vector<4xf32>
llvm.call @printF32(%368) : (f32) -> ()
llvm.call @printComma() : () -> ()
%369 = llvm.mlir.constant(3 : index) : i64
%370 = llvm.extractelement %362[%369 : i64] : vector<4xf32>
llvm.call @printF32(%370) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%371 = llvm.extractvalue %325[5] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%372 = llvm.mlir.constant(0 : index) : i64
%373 = llvm.extractelement %371[%372 : i64] : vector<4xf32>
llvm.call @printF32(%373) : (f32) -> ()
llvm.call @printComma() : () -> ()
%374 = llvm.mlir.constant(1 : index) : i64
%375 = llvm.extractelement %371[%374 : i64] : vector<4xf32>
llvm.call @printF32(%375) : (f32) -> ()
llvm.call @printComma() : () -> ()
%376 = llvm.mlir.constant(2 : index) : i64
%377 = llvm.extractelement %371[%376 : i64] : vector<4xf32>
llvm.call @printF32(%377) : (f32) -> ()
llvm.call @printComma() : () -> ()
%378 = llvm.mlir.constant(3 : index) : i64
%379 = llvm.extractelement %371[%378 : i64] : vector<4xf32>
llvm.call @printF32(%379) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%380 = llvm.extractvalue %325[6] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%381 = llvm.mlir.constant(0 : index) : i64
%382 = llvm.extractelement %380[%381 : i64] : vector<4xf32>
llvm.call @printF32(%382) : (f32) -> ()
llvm.call @printComma() : () -> ()
%383 = llvm.mlir.constant(1 : index) : i64
%384 = llvm.extractelement %380[%383 : i64] : vector<4xf32>
llvm.call @printF32(%384) : (f32) -> ()
llvm.call @printComma() : () -> ()
%385 = llvm.mlir.constant(2 : index) : i64
%386 = llvm.extractelement %380[%385 : i64] : vector<4xf32>
llvm.call @printF32(%386) : (f32) -> ()
llvm.call @printComma() : () -> ()
%387 = llvm.mlir.constant(3 : index) : i64
%388 = llvm.extractelement %380[%387 : i64] : vector<4xf32>
llvm.call @printF32(%388) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%389 = llvm.extractvalue %325[7] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%390 = llvm.mlir.constant(0 : index) : i64
%391 = llvm.extractelement %389[%390 : i64] : vector<4xf32>
llvm.call @printF32(%391) : (f32) -> ()
llvm.call @printComma() : () -> ()
%392 = llvm.mlir.constant(1 : index) : i64
%393 = llvm.extractelement %389[%392 : i64] : vector<4xf32>
llvm.call @printF32(%393) : (f32) -> ()
llvm.call @printComma() : () -> ()
%394 = llvm.mlir.constant(2 : index) : i64
%395 = llvm.extractelement %389[%394 : i64] : vector<4xf32>
llvm.call @printF32(%395) : (f32) -> ()
llvm.call @printComma() : () -> ()
%396 = llvm.mlir.constant(3 : index) : i64
%397 = llvm.extractelement %389[%396 : i64] : vector<4xf32>
llvm.call @printF32(%397) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%398 = llvm.extractvalue %324[1] : !llvm.array<3 x array<8 x vector<4xf32>>>
llvm.call @printOpen() : () -> ()
%399 = llvm.extractvalue %398[0] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%400 = llvm.mlir.constant(0 : index) : i64
%401 = llvm.extractelement %399[%400 : i64] : vector<4xf32>
llvm.call @printF32(%401) : (f32) -> ()
llvm.call @printComma() : () -> ()
%402 = llvm.mlir.constant(1 : index) : i64
%403 = llvm.extractelement %399[%402 : i64] : vector<4xf32>
llvm.call @printF32(%403) : (f32) -> ()
llvm.call @printComma() : () -> ()
%404 = llvm.mlir.constant(2 : index) : i64
%405 = llvm.extractelement %399[%404 : i64] : vector<4xf32>
llvm.call @printF32(%405) : (f32) -> ()
llvm.call @printComma() : () -> ()
%406 = llvm.mlir.constant(3 : index) : i64
%407 = llvm.extractelement %399[%406 : i64] : vector<4xf32>
llvm.call @printF32(%407) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%408 = llvm.extractvalue %398[1] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%409 = llvm.mlir.constant(0 : index) : i64
%410 = llvm.extractelement %408[%409 : i64] : vector<4xf32>
llvm.call @printF32(%410) : (f32) -> ()
llvm.call @printComma() : () -> ()
%411 = llvm.mlir.constant(1 : index) : i64
%412 = llvm.extractelement %408[%411 : i64] : vector<4xf32>
llvm.call @printF32(%412) : (f32) -> ()
llvm.call @printComma() : () -> ()
%413 = llvm.mlir.constant(2 : index) : i64
%414 = llvm.extractelement %408[%413 : i64] : vector<4xf32>
llvm.call @printF32(%414) : (f32) -> ()
llvm.call @printComma() : () -> ()
%415 = llvm.mlir.constant(3 : index) : i64
%416 = llvm.extractelement %408[%415 : i64] : vector<4xf32>
llvm.call @printF32(%416) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%417 = llvm.extractvalue %398[2] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%418 = llvm.mlir.constant(0 : index) : i64
%419 = llvm.extractelement %417[%418 : i64] : vector<4xf32>
llvm.call @printF32(%419) : (f32) -> ()
llvm.call @printComma() : () -> ()
%420 = llvm.mlir.constant(1 : index) : i64
%421 = llvm.extractelement %417[%420 : i64] : vector<4xf32>
llvm.call @printF32(%421) : (f32) -> ()
llvm.call @printComma() : () -> ()
%422 = llvm.mlir.constant(2 : index) : i64
%423 = llvm.extractelement %417[%422 : i64] : vector<4xf32>
llvm.call @printF32(%423) : (f32) -> ()
llvm.call @printComma() : () -> ()
%424 = llvm.mlir.constant(3 : index) : i64
%425 = llvm.extractelement %417[%424 : i64] : vector<4xf32>
llvm.call @printF32(%425) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%426 = llvm.extractvalue %398[3] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%427 = llvm.mlir.constant(0 : index) : i64
%428 = llvm.extractelement %426[%427 : i64] : vector<4xf32>
llvm.call @printF32(%428) : (f32) -> ()
llvm.call @printComma() : () -> ()
%429 = llvm.mlir.constant(1 : index) : i64
%430 = llvm.extractelement %426[%429 : i64] : vector<4xf32>
llvm.call @printF32(%430) : (f32) -> ()
llvm.call @printComma() : () -> ()
%431 = llvm.mlir.constant(2 : index) : i64
%432 = llvm.extractelement %426[%431 : i64] : vector<4xf32>
llvm.call @printF32(%432) : (f32) -> ()
llvm.call @printComma() : () -> ()
%433 = llvm.mlir.constant(3 : index) : i64
%434 = llvm.extractelement %426[%433 : i64] : vector<4xf32>
llvm.call @printF32(%434) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%435 = llvm.extractvalue %398[4] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%436 = llvm.mlir.constant(0 : index) : i64
%437 = llvm.extractelement %435[%436 : i64] : vector<4xf32>
llvm.call @printF32(%437) : (f32) -> ()
llvm.call @printComma() : () -> ()
%438 = llvm.mlir.constant(1 : index) : i64
%439 = llvm.extractelement %435[%438 : i64] : vector<4xf32>
llvm.call @printF32(%439) : (f32) -> ()
llvm.call @printComma() : () -> ()
%440 = llvm.mlir.constant(2 : index) : i64
%441 = llvm.extractelement %435[%440 : i64] : vector<4xf32>
llvm.call @printF32(%441) : (f32) -> ()
llvm.call @printComma() : () -> ()
%442 = llvm.mlir.constant(3 : index) : i64
%443 = llvm.extractelement %435[%442 : i64] : vector<4xf32>
llvm.call @printF32(%443) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%444 = llvm.extractvalue %398[5] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%445 = llvm.mlir.constant(0 : index) : i64
%446 = llvm.extractelement %444[%445 : i64] : vector<4xf32>
llvm.call @printF32(%446) : (f32) -> ()
llvm.call @printComma() : () -> ()
%447 = llvm.mlir.constant(1 : index) : i64
%448 = llvm.extractelement %444[%447 : i64] : vector<4xf32>
llvm.call @printF32(%448) : (f32) -> ()
llvm.call @printComma() : () -> ()
%449 = llvm.mlir.constant(2 : index) : i64
%450 = llvm.extractelement %444[%449 : i64] : vector<4xf32>
llvm.call @printF32(%450) : (f32) -> ()
llvm.call @printComma() : () -> ()
%451 = llvm.mlir.constant(3 : index) : i64
%452 = llvm.extractelement %444[%451 : i64] : vector<4xf32>
llvm.call @printF32(%452) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%453 = llvm.extractvalue %398[6] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%454 = llvm.mlir.constant(0 : index) : i64
%455 = llvm.extractelement %453[%454 : i64] : vector<4xf32>
llvm.call @printF32(%455) : (f32) -> ()
llvm.call @printComma() : () -> ()
%456 = llvm.mlir.constant(1 : index) : i64
%457 = llvm.extractelement %453[%456 : i64] : vector<4xf32>
llvm.call @printF32(%457) : (f32) -> ()
llvm.call @printComma() : () -> ()
%458 = llvm.mlir.constant(2 : index) : i64
%459 = llvm.extractelement %453[%458 : i64] : vector<4xf32>
llvm.call @printF32(%459) : (f32) -> ()
llvm.call @printComma() : () -> ()
%460 = llvm.mlir.constant(3 : index) : i64
%461 = llvm.extractelement %453[%460 : i64] : vector<4xf32>
llvm.call @printF32(%461) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%462 = llvm.extractvalue %398[7] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%463 = llvm.mlir.constant(0 : index) : i64
%464 = llvm.extractelement %462[%463 : i64] : vector<4xf32>
llvm.call @printF32(%464) : (f32) -> ()
llvm.call @printComma() : () -> ()
%465 = llvm.mlir.constant(1 : index) : i64
%466 = llvm.extractelement %462[%465 : i64] : vector<4xf32>
llvm.call @printF32(%466) : (f32) -> ()
llvm.call @printComma() : () -> ()
%467 = llvm.mlir.constant(2 : index) : i64
%468 = llvm.extractelement %462[%467 : i64] : vector<4xf32>
llvm.call @printF32(%468) : (f32) -> ()
llvm.call @printComma() : () -> ()
%469 = llvm.mlir.constant(3 : index) : i64
%470 = llvm.extractelement %462[%469 : i64] : vector<4xf32>
llvm.call @printF32(%470) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%471 = llvm.extractvalue %324[2] : !llvm.array<3 x array<8 x vector<4xf32>>>
llvm.call @printOpen() : () -> ()
%472 = llvm.extractvalue %471[0] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%473 = llvm.mlir.constant(0 : index) : i64
%474 = llvm.extractelement %472[%473 : i64] : vector<4xf32>
llvm.call @printF32(%474) : (f32) -> ()
llvm.call @printComma() : () -> ()
%475 = llvm.mlir.constant(1 : index) : i64
%476 = llvm.extractelement %472[%475 : i64] : vector<4xf32>
llvm.call @printF32(%476) : (f32) -> ()
llvm.call @printComma() : () -> ()
%477 = llvm.mlir.constant(2 : index) : i64
%478 = llvm.extractelement %472[%477 : i64] : vector<4xf32>
llvm.call @printF32(%478) : (f32) -> ()
llvm.call @printComma() : () -> ()
%479 = llvm.mlir.constant(3 : index) : i64
%480 = llvm.extractelement %472[%479 : i64] : vector<4xf32>
llvm.call @printF32(%480) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%481 = llvm.extractvalue %471[1] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%482 = llvm.mlir.constant(0 : index) : i64
%483 = llvm.extractelement %481[%482 : i64] : vector<4xf32>
llvm.call @printF32(%483) : (f32) -> ()
llvm.call @printComma() : () -> ()
%484 = llvm.mlir.constant(1 : index) : i64
%485 = llvm.extractelement %481[%484 : i64] : vector<4xf32>
llvm.call @printF32(%485) : (f32) -> ()
llvm.call @printComma() : () -> ()
%486 = llvm.mlir.constant(2 : index) : i64
%487 = llvm.extractelement %481[%486 : i64] : vector<4xf32>
llvm.call @printF32(%487) : (f32) -> ()
llvm.call @printComma() : () -> ()
%488 = llvm.mlir.constant(3 : index) : i64
%489 = llvm.extractelement %481[%488 : i64] : vector<4xf32>
llvm.call @printF32(%489) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%490 = llvm.extractvalue %471[2] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%491 = llvm.mlir.constant(0 : index) : i64
%492 = llvm.extractelement %490[%491 : i64] : vector<4xf32>
llvm.call @printF32(%492) : (f32) -> ()
llvm.call @printComma() : () -> ()
%493 = llvm.mlir.constant(1 : index) : i64
%494 = llvm.extractelement %490[%493 : i64] : vector<4xf32>
llvm.call @printF32(%494) : (f32) -> ()
llvm.call @printComma() : () -> ()
%495 = llvm.mlir.constant(2 : index) : i64
%496 = llvm.extractelement %490[%495 : i64] : vector<4xf32>
llvm.call @printF32(%496) : (f32) -> ()
llvm.call @printComma() : () -> ()
%497 = llvm.mlir.constant(3 : index) : i64
%498 = llvm.extractelement %490[%497 : i64] : vector<4xf32>
llvm.call @printF32(%498) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%499 = llvm.extractvalue %471[3] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%500 = llvm.mlir.constant(0 : index) : i64
%501 = llvm.extractelement %499[%500 : i64] : vector<4xf32>
llvm.call @printF32(%501) : (f32) -> ()
llvm.call @printComma() : () -> ()
%502 = llvm.mlir.constant(1 : index) : i64
%503 = llvm.extractelement %499[%502 : i64] : vector<4xf32>
llvm.call @printF32(%503) : (f32) -> ()
llvm.call @printComma() : () -> ()
%504 = llvm.mlir.constant(2 : index) : i64
%505 = llvm.extractelement %499[%504 : i64] : vector<4xf32>
llvm.call @printF32(%505) : (f32) -> ()
llvm.call @printComma() : () -> ()
%506 = llvm.mlir.constant(3 : index) : i64
%507 = llvm.extractelement %499[%506 : i64] : vector<4xf32>
llvm.call @printF32(%507) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%508 = llvm.extractvalue %471[4] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%509 = llvm.mlir.constant(0 : index) : i64
%510 = llvm.extractelement %508[%509 : i64] : vector<4xf32>
llvm.call @printF32(%510) : (f32) -> ()
llvm.call @printComma() : () -> ()
%511 = llvm.mlir.constant(1 : index) : i64
%512 = llvm.extractelement %508[%511 : i64] : vector<4xf32>
llvm.call @printF32(%512) : (f32) -> ()
llvm.call @printComma() : () -> ()
%513 = llvm.mlir.constant(2 : index) : i64
%514 = llvm.extractelement %508[%513 : i64] : vector<4xf32>
llvm.call @printF32(%514) : (f32) -> ()
llvm.call @printComma() : () -> ()
%515 = llvm.mlir.constant(3 : index) : i64
%516 = llvm.extractelement %508[%515 : i64] : vector<4xf32>
llvm.call @printF32(%516) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%517 = llvm.extractvalue %471[5] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%518 = llvm.mlir.constant(0 : index) : i64
%519 = llvm.extractelement %517[%518 : i64] : vector<4xf32>
llvm.call @printF32(%519) : (f32) -> ()
llvm.call @printComma() : () -> ()
%520 = llvm.mlir.constant(1 : index) : i64
%521 = llvm.extractelement %517[%520 : i64] : vector<4xf32>
llvm.call @printF32(%521) : (f32) -> ()
llvm.call @printComma() : () -> ()
%522 = llvm.mlir.constant(2 : index) : i64
%523 = llvm.extractelement %517[%522 : i64] : vector<4xf32>
llvm.call @printF32(%523) : (f32) -> ()
llvm.call @printComma() : () -> ()
%524 = llvm.mlir.constant(3 : index) : i64
%525 = llvm.extractelement %517[%524 : i64] : vector<4xf32>
llvm.call @printF32(%525) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%526 = llvm.extractvalue %471[6] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%527 = llvm.mlir.constant(0 : index) : i64
%528 = llvm.extractelement %526[%527 : i64] : vector<4xf32>
llvm.call @printF32(%528) : (f32) -> ()
llvm.call @printComma() : () -> ()
%529 = llvm.mlir.constant(1 : index) : i64
%530 = llvm.extractelement %526[%529 : i64] : vector<4xf32>
llvm.call @printF32(%530) : (f32) -> ()
llvm.call @printComma() : () -> ()
%531 = llvm.mlir.constant(2 : index) : i64
%532 = llvm.extractelement %526[%531 : i64] : vector<4xf32>
llvm.call @printF32(%532) : (f32) -> ()
llvm.call @printComma() : () -> ()
%533 = llvm.mlir.constant(3 : index) : i64
%534 = llvm.extractelement %526[%533 : i64] : vector<4xf32>
llvm.call @printF32(%534) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printComma() : () -> ()
%535 = llvm.extractvalue %471[7] : !llvm.array<8 x vector<4xf32>>
llvm.call @printOpen() : () -> ()
%536 = llvm.mlir.constant(0 : index) : i64
%537 = llvm.extractelement %535[%536 : i64] : vector<4xf32>
llvm.call @printF32(%537) : (f32) -> ()
llvm.call @printComma() : () -> ()
%538 = llvm.mlir.constant(1 : index) : i64
%539 = llvm.extractelement %535[%538 : i64] : vector<4xf32>
llvm.call @printF32(%539) : (f32) -> ()
llvm.call @printComma() : () -> ()
%540 = llvm.mlir.constant(2 : index) : i64
%541 = llvm.extractelement %535[%540 : i64] : vector<4xf32>
llvm.call @printF32(%541) : (f32) -> ()
llvm.call @printComma() : () -> ()
%542 = llvm.mlir.constant(3 : index) : i64
%543 = llvm.extractelement %535[%542 : i64] : vector<4xf32>
llvm.call @printF32(%543) : (f32) -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printClose() : () -> ()
llvm.call @printNewline() : () -> ()
dealloc %16 : memref<3x4x4x2xf32>
dealloc %17 : memref<2x3x8x4xf32>
return
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment