443 lines · plain
1// RUN: mlir-opt %s -canonicalize | FileCheck %s2 3// CHECK-LABEL: @ipowi32_fold(4// CHECK-SAME: %[[result:.+]]: memref<?xi32>5func.func @ipowi32_fold(%result : memref<?xi32>) {6// CHECK-DAG: %[[cst0:.+]] = arith.constant 0 : i327// CHECK-DAG: %[[cst1:.+]] = arith.constant 1 : i328// CHECK-DAG: %[[cst1073741824:.+]] = arith.constant 1073741824 : i329// CHECK-DAG: %[[cst_m1:.+]] = arith.constant -1 : i3210// CHECK-DAG: %[[cst_m27:.+]] = arith.constant -27 : i3211// CHECK-DAG: %[[i0:.+]] = arith.constant 0 : index12// CHECK-DAG: %[[i1:.+]] = arith.constant 1 : index13// CHECK-DAG: %[[i2:.+]] = arith.constant 2 : index14// CHECK-DAG: %[[i3:.+]] = arith.constant 3 : index15// CHECK-DAG: %[[i4:.+]] = arith.constant 4 : index16// CHECK-DAG: %[[i5:.+]] = arith.constant 5 : index17// CHECK-DAG: %[[i6:.+]] = arith.constant 6 : index18// CHECK-DAG: %[[i7:.+]] = arith.constant 7 : index19// CHECK-DAG: %[[i8:.+]] = arith.constant 8 : index20// CHECK-DAG: %[[i9:.+]] = arith.constant 9 : index21// CHECK-DAG: %[[i10:.+]] = arith.constant 10 : index22// CHECK-DAG: %[[i11:.+]] = arith.constant 11 : index23 24// --- Test power == 0 ---25 %arg0_base = arith.constant 0 : i3226 %arg0_power = arith.constant 0 : i3227 %res0 = math.ipowi %arg0_base, %arg0_power : i3228 %i0 = arith.constant 0 : index29 memref.store %res0, %result[%i0] : memref<?xi32>30// CHECK: memref.store %[[cst1]], %[[result]][%[[i0]]] : memref<?xi32>31 32 %arg1_base = arith.constant 10 : i3233 %arg1_power = arith.constant 0 : i3234 %res1 = math.ipowi %arg1_base, %arg1_power : i3235 %i1 = arith.constant 1 : index36 memref.store %res1, %result[%i1] : memref<?xi32>37// CHECK: memref.store %[[cst1]], %[[result]][%[[i1]]] : memref<?xi32>38 39 %arg2_base = arith.constant -10 : i3240 %arg2_power = arith.constant 0 : i3241 %res2 = math.ipowi %arg2_base, %arg2_power : i3242 %i2 = arith.constant 2 : index43 memref.store %res2, %result[%i2] : memref<?xi32>44// CHECK: memref.store %[[cst1]], %[[result]][%[[i2]]] : memref<?xi32>45 46// --- Test negative powers ---47 %arg3_base = arith.constant 0 : i3248 %arg3_power = arith.constant -1 : i3249 %res3 = math.ipowi %arg3_base, %arg3_power : i3250 %i3 = arith.constant 3 : index51 memref.store %res3, %result[%i3] : memref<?xi32>52// No folding for ipowi(0, x) for x < 0:53// CHECK: %[[res3:.+]] = math.ipowi %[[cst0]], %[[cst_m1]] : i3254// CHECK: memref.store %[[res3]], %[[result]][%[[i3]]] : memref<?xi32>55 56 %arg4_base = arith.constant 1 : i3257 %arg4_power = arith.constant -10 : i3258 %res4 = math.ipowi %arg4_base, %arg4_power : i3259 %i4 = arith.constant 4 : index60 memref.store %res4, %result[%i4] : memref<?xi32>61// CHECK: memref.store %[[cst1]], %[[result]][%[[i4]]] : memref<?xi32>62 63 %arg5_base = arith.constant 2 : i3264 %arg5_power = arith.constant -1 : i3265 %res5 = math.ipowi %arg5_base, %arg5_power : i3266 %i5 = arith.constant 5 : index67 memref.store %res5, %result[%i5] : memref<?xi32>68// CHECK: memref.store %[[cst0]], %[[result]][%[[i5]]] : memref<?xi32>69 70 %arg6_base = arith.constant -2 : i3271 %arg6_power = arith.constant -1 : i3272 %res6 = math.ipowi %arg6_base, %arg6_power : i3273 %i6 = arith.constant 6 : index74 memref.store %res6, %result[%i6] : memref<?xi32>75// CHECK: memref.store %[[cst0]], %[[result]][%[[i6]]] : memref<?xi32>76 77 %arg7_base = arith.constant -1 : i3278 %arg7_power = arith.constant -10 : i3279 %res7 = math.ipowi %arg7_base, %arg7_power : i3280 %i7 = arith.constant 7 : index81 memref.store %res7, %result[%i7] : memref<?xi32>82// CHECK: memref.store %[[cst1]], %[[result]][%[[i7]]] : memref<?xi32>83 84 %arg8_base = arith.constant -1 : i3285 %arg8_power = arith.constant -11 : i3286 %res8 = math.ipowi %arg8_base, %arg8_power : i3287 %i8 = arith.constant 8 : index88 memref.store %res8, %result[%i8] : memref<?xi32>89// CHECK: memref.store %[[cst_m1]], %[[result]][%[[i8]]] : memref<?xi32>90 91// --- Test positive powers ---92 %arg9_base = arith.constant -3 : i3293 %arg9_power = arith.constant 3 : i3294 %res9 = math.ipowi %arg9_base, %arg9_power : i3295 %i9 = arith.constant 9 : index96 memref.store %res9, %result[%i9] : memref<?xi32>97// CHECK: memref.store %[[cst_m27]], %[[result]][%[[i9]]] : memref<?xi32>98 99 %arg10_base = arith.constant 2 : i32100 %arg10_power = arith.constant 30 : i32101 %res10 = math.ipowi %arg10_base, %arg10_power : i32102 %i10 = arith.constant 10 : index103 memref.store %res10, %result[%i10] : memref<?xi32>104// CHECK: memref.store %[[cst1073741824]], %[[result]][%[[i10]]] : memref<?xi32>105 106// --- Test vector folding ---107 %arg11_base = arith.constant 2 : i32108 %arg11_base_vec = vector.broadcast %arg11_base : i32 to vector<2x2xi32>109 %arg11_power = arith.constant 30 : i32110 %arg11_power_vec = vector.broadcast %arg11_power : i32 to vector<2x2xi32>111 %res11_vec = math.ipowi %arg11_base_vec, %arg11_power_vec : vector<2x2xi32>112 %i11 = arith.constant 11 : index113 %res11 = vector.extract %res11_vec[1, 1] : i32 from vector<2x2xi32>114 memref.store %res11, %result[%i11] : memref<?xi32>115// CHECK: memref.store %[[cst1073741824]], %[[result]][%[[i11]]] : memref<?xi32>116 117 return118}119 120// CHECK-LABEL: @ipowi64_fold(121// CHECK-SAME: %[[result:.+]]: memref<?xi64>122func.func @ipowi64_fold(%result : memref<?xi64>) {123// CHECK-DAG: %[[cst0:.+]] = arith.constant 0 : i64124// CHECK-DAG: %[[cst1:.+]] = arith.constant 1 : i64125// CHECK-DAG: %[[cst1073741824:.+]] = arith.constant 1073741824 : i64126// CHECK-DAG: %[[cst281474976710656:.+]] = arith.constant 281474976710656 : i64127// CHECK-DAG: %[[cst_m1:.+]] = arith.constant -1 : i64128// CHECK-DAG: %[[cst_m27:.+]] = arith.constant -27 : i64129// CHECK-DAG: %[[i0:.+]] = arith.constant 0 : index130// CHECK-DAG: %[[i1:.+]] = arith.constant 1 : index131// CHECK-DAG: %[[i2:.+]] = arith.constant 2 : index132// CHECK-DAG: %[[i3:.+]] = arith.constant 3 : index133// CHECK-DAG: %[[i4:.+]] = arith.constant 4 : index134// CHECK-DAG: %[[i5:.+]] = arith.constant 5 : index135// CHECK-DAG: %[[i6:.+]] = arith.constant 6 : index136// CHECK-DAG: %[[i7:.+]] = arith.constant 7 : index137// CHECK-DAG: %[[i8:.+]] = arith.constant 8 : index138// CHECK-DAG: %[[i9:.+]] = arith.constant 9 : index139// CHECK-DAG: %[[i10:.+]] = arith.constant 10 : index140// CHECK-DAG: %[[i11:.+]] = arith.constant 11 : index141 142// --- Test power == 0 ---143 %arg0_base = arith.constant 0 : i64144 %arg0_power = arith.constant 0 : i64145 %res0 = math.ipowi %arg0_base, %arg0_power : i64146 %i0 = arith.constant 0 : index147 memref.store %res0, %result[%i0] : memref<?xi64>148// CHECK: memref.store %[[cst1]], %[[result]][%[[i0]]] : memref<?xi64>149 150 %arg1_base = arith.constant 10 : i64151 %arg1_power = arith.constant 0 : i64152 %res1 = math.ipowi %arg1_base, %arg1_power : i64153 %i1 = arith.constant 1 : index154 memref.store %res1, %result[%i1] : memref<?xi64>155// CHECK: memref.store %[[cst1]], %[[result]][%[[i1]]] : memref<?xi64>156 157 %arg2_base = arith.constant -10 : i64158 %arg2_power = arith.constant 0 : i64159 %res2 = math.ipowi %arg2_base, %arg2_power : i64160 %i2 = arith.constant 2 : index161 memref.store %res2, %result[%i2] : memref<?xi64>162// CHECK: memref.store %[[cst1]], %[[result]][%[[i2]]] : memref<?xi64>163 164// --- Test negative powers ---165 %arg3_base = arith.constant 0 : i64166 %arg3_power = arith.constant -1 : i64167 %res3 = math.ipowi %arg3_base, %arg3_power : i64168 %i3 = arith.constant 3 : index169 memref.store %res3, %result[%i3] : memref<?xi64>170// No folding for ipowi(0, x) for x < 0:171// CHECK: %[[res3:.+]] = math.ipowi %[[cst0]], %[[cst_m1]] : i64172// CHECK: memref.store %[[res3]], %[[result]][%[[i3]]] : memref<?xi64>173 174 %arg4_base = arith.constant 1 : i64175 %arg4_power = arith.constant -10 : i64176 %res4 = math.ipowi %arg4_base, %arg4_power : i64177 %i4 = arith.constant 4 : index178 memref.store %res4, %result[%i4] : memref<?xi64>179// CHECK: memref.store %[[cst1]], %[[result]][%[[i4]]] : memref<?xi64>180 181 %arg5_base = arith.constant 2 : i64182 %arg5_power = arith.constant -1 : i64183 %res5 = math.ipowi %arg5_base, %arg5_power : i64184 %i5 = arith.constant 5 : index185 memref.store %res5, %result[%i5] : memref<?xi64>186// CHECK: memref.store %[[cst0]], %[[result]][%[[i5]]] : memref<?xi64>187 188 %arg6_base = arith.constant -2 : i64189 %arg6_power = arith.constant -1 : i64190 %res6 = math.ipowi %arg6_base, %arg6_power : i64191 %i6 = arith.constant 6 : index192 memref.store %res6, %result[%i6] : memref<?xi64>193// CHECK: memref.store %[[cst0]], %[[result]][%[[i6]]] : memref<?xi64>194 195 %arg7_base = arith.constant -1 : i64196 %arg7_power = arith.constant -10 : i64197 %res7 = math.ipowi %arg7_base, %arg7_power : i64198 %i7 = arith.constant 7 : index199 memref.store %res7, %result[%i7] : memref<?xi64>200// CHECK: memref.store %[[cst1]], %[[result]][%[[i7]]] : memref<?xi64>201 202 %arg8_base = arith.constant -1 : i64203 %arg8_power = arith.constant -11 : i64204 %res8 = math.ipowi %arg8_base, %arg8_power : i64205 %i8 = arith.constant 8 : index206 memref.store %res8, %result[%i8] : memref<?xi64>207// CHECK: memref.store %[[cst_m1]], %[[result]][%[[i8]]] : memref<?xi64>208 209// --- Test positive powers ---210 %arg9_base = arith.constant -3 : i64211 %arg9_power = arith.constant 3 : i64212 %res9 = math.ipowi %arg9_base, %arg9_power : i64213 %i9 = arith.constant 9 : index214 memref.store %res9, %result[%i9] : memref<?xi64>215// CHECK: memref.store %[[cst_m27]], %[[result]][%[[i9]]] : memref<?xi64>216 217 %arg10_base = arith.constant 2 : i64218 %arg10_power = arith.constant 30 : i64219 %res10 = math.ipowi %arg10_base, %arg10_power : i64220 %i10 = arith.constant 10 : index221 memref.store %res10, %result[%i10] : memref<?xi64>222// CHECK: memref.store %[[cst1073741824]], %[[result]][%[[i10]]] : memref<?xi64>223 224 %arg11_base = arith.constant 2 : i64225 %arg11_power = arith.constant 48 : i64226 %res11 = math.ipowi %arg11_base, %arg11_power : i64227 %i11 = arith.constant 11 : index228 memref.store %res11, %result[%i11] : memref<?xi64>229// CHECK: memref.store %[[cst281474976710656]], %[[result]][%[[i11]]] : memref<?xi64>230 231 return232}233 234// CHECK-LABEL: @ipowi16_fold(235// CHECK-SAME: %[[result:.+]]: memref<?xi16>236func.func @ipowi16_fold(%result : memref<?xi16>) {237// CHECK-DAG: %[[cst0:.+]] = arith.constant 0 : i16238// CHECK-DAG: %[[cst1:.+]] = arith.constant 1 : i16239// CHECK-DAG: %[[cst16384:.+]] = arith.constant 16384 : i16240// CHECK-DAG: %[[cst_m1:.+]] = arith.constant -1 : i16241// CHECK-DAG: %[[cst_m27:.+]] = arith.constant -27 : i16242// CHECK-DAG: %[[i0:.+]] = arith.constant 0 : index243// CHECK-DAG: %[[i1:.+]] = arith.constant 1 : index244// CHECK-DAG: %[[i2:.+]] = arith.constant 2 : index245// CHECK-DAG: %[[i3:.+]] = arith.constant 3 : index246// CHECK-DAG: %[[i4:.+]] = arith.constant 4 : index247// CHECK-DAG: %[[i5:.+]] = arith.constant 5 : index248// CHECK-DAG: %[[i6:.+]] = arith.constant 6 : index249// CHECK-DAG: %[[i7:.+]] = arith.constant 7 : index250// CHECK-DAG: %[[i8:.+]] = arith.constant 8 : index251// CHECK-DAG: %[[i9:.+]] = arith.constant 9 : index252// CHECK-DAG: %[[i10:.+]] = arith.constant 10 : index253 254// --- Test power == 0 ---255 %arg0_base = arith.constant 0 : i16256 %arg0_power = arith.constant 0 : i16257 %res0 = math.ipowi %arg0_base, %arg0_power : i16258 %i0 = arith.constant 0 : index259 memref.store %res0, %result[%i0] : memref<?xi16>260// CHECK: memref.store %[[cst1]], %[[result]][%[[i0]]] : memref<?xi16>261 262 %arg1_base = arith.constant 10 : i16263 %arg1_power = arith.constant 0 : i16264 %res1 = math.ipowi %arg1_base, %arg1_power : i16265 %i1 = arith.constant 1 : index266 memref.store %res1, %result[%i1] : memref<?xi16>267// CHECK: memref.store %[[cst1]], %[[result]][%[[i1]]] : memref<?xi16>268 269 %arg2_base = arith.constant -10 : i16270 %arg2_power = arith.constant 0 : i16271 %res2 = math.ipowi %arg2_base, %arg2_power : i16272 %i2 = arith.constant 2 : index273 memref.store %res2, %result[%i2] : memref<?xi16>274// CHECK: memref.store %[[cst1]], %[[result]][%[[i2]]] : memref<?xi16>275 276// --- Test negative powers ---277 %arg3_base = arith.constant 0 : i16278 %arg3_power = arith.constant -1 : i16279 %res3 = math.ipowi %arg3_base, %arg3_power : i16280 %i3 = arith.constant 3 : index281 memref.store %res3, %result[%i3] : memref<?xi16>282// No folding for ipowi(0, x) for x < 0:283// CHECK: %[[res3:.+]] = math.ipowi %[[cst0]], %[[cst_m1]] : i16284// CHECK: memref.store %[[res3]], %[[result]][%[[i3]]] : memref<?xi16>285 286 %arg4_base = arith.constant 1 : i16287 %arg4_power = arith.constant -10 : i16288 %res4 = math.ipowi %arg4_base, %arg4_power : i16289 %i4 = arith.constant 4 : index290 memref.store %res4, %result[%i4] : memref<?xi16>291// CHECK: memref.store %[[cst1]], %[[result]][%[[i4]]] : memref<?xi16>292 293 %arg5_base = arith.constant 2 : i16294 %arg5_power = arith.constant -1 : i16295 %res5 = math.ipowi %arg5_base, %arg5_power : i16296 %i5 = arith.constant 5 : index297 memref.store %res5, %result[%i5] : memref<?xi16>298// CHECK: memref.store %[[cst0]], %[[result]][%[[i5]]] : memref<?xi16>299 300 %arg6_base = arith.constant -2 : i16301 %arg6_power = arith.constant -1 : i16302 %res6 = math.ipowi %arg6_base, %arg6_power : i16303 %i6 = arith.constant 6 : index304 memref.store %res6, %result[%i6] : memref<?xi16>305// CHECK: memref.store %[[cst0]], %[[result]][%[[i6]]] : memref<?xi16>306 307 %arg7_base = arith.constant -1 : i16308 %arg7_power = arith.constant -10 : i16309 %res7 = math.ipowi %arg7_base, %arg7_power : i16310 %i7 = arith.constant 7 : index311 memref.store %res7, %result[%i7] : memref<?xi16>312// CHECK: memref.store %[[cst1]], %[[result]][%[[i7]]] : memref<?xi16>313 314 %arg8_base = arith.constant -1 : i16315 %arg8_power = arith.constant -11 : i16316 %res8 = math.ipowi %arg8_base, %arg8_power : i16317 %i8 = arith.constant 8 : index318 memref.store %res8, %result[%i8] : memref<?xi16>319// CHECK: memref.store %[[cst_m1]], %[[result]][%[[i8]]] : memref<?xi16>320 321// --- Test positive powers ---322 %arg9_base = arith.constant -3 : i16323 %arg9_power = arith.constant 3 : i16324 %res9 = math.ipowi %arg9_base, %arg9_power : i16325 %i9 = arith.constant 9 : index326 memref.store %res9, %result[%i9] : memref<?xi16>327// CHECK: memref.store %[[cst_m27]], %[[result]][%[[i9]]] : memref<?xi16>328 329 %arg10_base = arith.constant 2 : i16330 %arg10_power = arith.constant 14 : i16331 %res10 = math.ipowi %arg10_base, %arg10_power : i16332 %i10 = arith.constant 10 : index333 memref.store %res10, %result[%i10] : memref<?xi16>334// CHECK: memref.store %[[cst16384]], %[[result]][%[[i10]]] : memref<?xi16>335 336 return337}338 339// CHECK-LABEL: @ipowi8_fold(340// CHECK-SAME: %[[result:.+]]: memref<?xi8>341func.func @ipowi8_fold(%result : memref<?xi8>) {342// CHECK-DAG: %[[cst0:.+]] = arith.constant 0 : i8343// CHECK-DAG: %[[cst1:.+]] = arith.constant 1 : i8344// CHECK-DAG: %[[cst64:.+]] = arith.constant 64 : i8345// CHECK-DAG: %[[cst_m1:.+]] = arith.constant -1 : i8346// CHECK-DAG: %[[cst_m27:.+]] = arith.constant -27 : i8347// CHECK-DAG: %[[i0:.+]] = arith.constant 0 : index348// CHECK-DAG: %[[i1:.+]] = arith.constant 1 : index349// CHECK-DAG: %[[i2:.+]] = arith.constant 2 : index350// CHECK-DAG: %[[i3:.+]] = arith.constant 3 : index351// CHECK-DAG: %[[i4:.+]] = arith.constant 4 : index352// CHECK-DAG: %[[i5:.+]] = arith.constant 5 : index353// CHECK-DAG: %[[i6:.+]] = arith.constant 6 : index354// CHECK-DAG: %[[i7:.+]] = arith.constant 7 : index355// CHECK-DAG: %[[i8:.+]] = arith.constant 8 : index356// CHECK-DAG: %[[i9:.+]] = arith.constant 9 : index357// CHECK-DAG: %[[i10:.+]] = arith.constant 10 : index358 359// --- Test power == 0 ---360 %arg0_base = arith.constant 0 : i8361 %arg0_power = arith.constant 0 : i8362 %res0 = math.ipowi %arg0_base, %arg0_power : i8363 %i0 = arith.constant 0 : index364 memref.store %res0, %result[%i0] : memref<?xi8>365// CHECK: memref.store %[[cst1]], %[[result]][%[[i0]]] : memref<?xi8>366 367 %arg1_base = arith.constant 10 : i8368 %arg1_power = arith.constant 0 : i8369 %res1 = math.ipowi %arg1_base, %arg1_power : i8370 %i1 = arith.constant 1 : index371 memref.store %res1, %result[%i1] : memref<?xi8>372// CHECK: memref.store %[[cst1]], %[[result]][%[[i1]]] : memref<?xi8>373 374 %arg2_base = arith.constant -10 : i8375 %arg2_power = arith.constant 0 : i8376 %res2 = math.ipowi %arg2_base, %arg2_power : i8377 %i2 = arith.constant 2 : index378 memref.store %res2, %result[%i2] : memref<?xi8>379// CHECK: memref.store %[[cst1]], %[[result]][%[[i2]]] : memref<?xi8>380 381// --- Test negative powers ---382 %arg3_base = arith.constant 0 : i8383 %arg3_power = arith.constant -1 : i8384 %res3 = math.ipowi %arg3_base, %arg3_power : i8385 %i3 = arith.constant 3 : index386 memref.store %res3, %result[%i3] : memref<?xi8>387// No folding for ipowi(0, x) for x < 0:388// CHECK: %[[res3:.+]] = math.ipowi %[[cst0]], %[[cst_m1]] : i8389// CHECK: memref.store %[[res3]], %[[result]][%[[i3]]] : memref<?xi8>390 391 %arg4_base = arith.constant 1 : i8392 %arg4_power = arith.constant -10 : i8393 %res4 = math.ipowi %arg4_base, %arg4_power : i8394 %i4 = arith.constant 4 : index395 memref.store %res4, %result[%i4] : memref<?xi8>396// CHECK: memref.store %[[cst1]], %[[result]][%[[i4]]] : memref<?xi8>397 398 %arg5_base = arith.constant 2 : i8399 %arg5_power = arith.constant -1 : i8400 %res5 = math.ipowi %arg5_base, %arg5_power : i8401 %i5 = arith.constant 5 : index402 memref.store %res5, %result[%i5] : memref<?xi8>403// CHECK: memref.store %[[cst0]], %[[result]][%[[i5]]] : memref<?xi8>404 405 %arg6_base = arith.constant -2 : i8406 %arg6_power = arith.constant -1 : i8407 %res6 = math.ipowi %arg6_base, %arg6_power : i8408 %i6 = arith.constant 6 : index409 memref.store %res6, %result[%i6] : memref<?xi8>410// CHECK: memref.store %[[cst0]], %[[result]][%[[i6]]] : memref<?xi8>411 412 %arg7_base = arith.constant -1 : i8413 %arg7_power = arith.constant -10 : i8414 %res7 = math.ipowi %arg7_base, %arg7_power : i8415 %i7 = arith.constant 7 : index416 memref.store %res7, %result[%i7] : memref<?xi8>417// CHECK: memref.store %[[cst1]], %[[result]][%[[i7]]] : memref<?xi8>418 419 %arg8_base = arith.constant -1 : i8420 %arg8_power = arith.constant -11 : i8421 %res8 = math.ipowi %arg8_base, %arg8_power : i8422 %i8 = arith.constant 8 : index423 memref.store %res8, %result[%i8] : memref<?xi8>424// CHECK: memref.store %[[cst_m1]], %[[result]][%[[i8]]] : memref<?xi8>425 426// --- Test positive powers ---427 %arg9_base = arith.constant -3 : i8428 %arg9_power = arith.constant 3 : i8429 %res9 = math.ipowi %arg9_base, %arg9_power : i8430 %i9 = arith.constant 9 : index431 memref.store %res9, %result[%i9] : memref<?xi8>432// CHECK: memref.store %[[cst_m27]], %[[result]][%[[i9]]] : memref<?xi8>433 434 %arg10_base = arith.constant 2 : i8435 %arg10_power = arith.constant 6 : i8436 %res10 = math.ipowi %arg10_base, %arg10_power : i8437 %i10 = arith.constant 10 : index438 memref.store %res10, %result[%i10] : memref<?xi8>439// CHECK: memref.store %[[cst64]], %[[result]][%[[i10]]] : memref<?xi8>440 441 return442}443