// RUN: mlir-opt %s -test-math-algebraic-simplification | FileCheck %s func.func @pow3(%arg0: complex) -> complex { %c3 = arith.constant 3 : i32 %0 = complex.powi %arg0, %c3 : complex, i32 return %0 : complex } // CHECK-LABEL: func.func @pow3( // CHECK-NOT: complex.powi // CHECK: %[[M0:.+]] = complex.mul %{{.*}}, %{{.*}} : complex // CHECK: %[[M1:.+]] = complex.mul %[[M0]], %{{.*}} : complex // CHECK: return %[[M1]] : complex func.func @pow9(%arg0: complex) -> complex { %c9 = arith.constant 9 : i32 %0 = complex.powi %arg0, %c9 : complex, i32 return %0 : complex } // CHECK-LABEL: func.func @pow9( // CHECK: complex.powi %{{.*}}, %{{.*}} : complex, i32