| // RUN: mlir-opt %s | mlir-opt | FileCheck %s |
| |
| module { |
| // CHECK-LABEL: irdl.dialect @cmath { |
| irdl.dialect @cmath { |
| |
| // CHECK: irdl.type @complex { |
| // CHECK: %[[v0:[^ ]*]] = irdl.is f32 |
| // CHECK: %[[v1:[^ ]*]] = irdl.is f64 |
| // CHECK: %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]]) |
| // CHECK: irdl.parameters(%[[v2]]) |
| // CHECK: } |
| irdl.type @complex { |
| %0 = irdl.is f32 |
| %1 = irdl.is f64 |
| %2 = irdl.any_of(%0, %1) |
| irdl.parameters(%2) |
| } |
| |
| // CHECK: irdl.operation @norm { |
| // CHECK: %[[v0:[^ ]*]] = irdl.any |
| // CHECK: %[[v1:[^ ]*]] = irdl.parametric @complex<%[[v0]]> |
| // CHECK: irdl.operands(%[[v1]]) |
| // CHECK: irdl.results(%[[v0]]) |
| // CHECK: } |
| irdl.operation @norm { |
| %0 = irdl.any |
| %1 = irdl.parametric @complex<%0> |
| irdl.operands(%1) |
| irdl.results(%0) |
| } |
| |
| // CHECK: irdl.operation @mul { |
| // CHECK: %[[v0:[^ ]*]] = irdl.is f32 |
| // CHECK: %[[v1:[^ ]*]] = irdl.is f64 |
| // CHECK: %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]]) |
| // CHECK: %[[v3:[^ ]*]] = irdl.parametric @complex<%[[v2]]> |
| // CHECK: irdl.operands(%[[v3]], %[[v3]]) |
| // CHECK: irdl.results(%[[v3]]) |
| // CHECK: } |
| irdl.operation @mul { |
| %0 = irdl.is f32 |
| %1 = irdl.is f64 |
| %2 = irdl.any_of(%0, %1) |
| %3 = irdl.parametric @complex<%2> |
| irdl.operands(%3, %3) |
| irdl.results(%3) |
| } |
| |
| } |
| } |