brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.0 KiB · 6812092 Raw
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