Fused multiply and add are being pushed directly to the libm. This is problematic
for situations where libm is not available. This patch will break down a fused multiply and
add into a multiply followed by an add.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/test/Dialect/Math/expand-math.mlir | ||
---|---|---|
71 | I would not include the CHECK-NOT, if we are matching the replacement we just assume the old op is gone. | |
72 | [[NAME:%.+]] is used to capture a new variable Also, we typically avoid capture the % in the matcher. It seems arbitrary but there are certain cases where it makes the test easier to write. Also make sure the capture named makes sense (e.g. MULF). You can also drop types from the verifier and if they are inferred from the parent. For short, this check should look like // CHECK-NEXT: [[MULF:%.+]] = arith.mulf %[[ARG0]], %[[ARG1]] Repeat for the following lines. |
I would not include the CHECK-NOT, if we are matching the replacement we just assume the old op is gone.