Skip to content

Conversation

@victor-eds
Copy link
Contributor

If the language options allow that, contract FP
operations (multiplication and addition) to math.fma. These are lowered to llvm.fma.* intrinsics in later stages of the pipeline.

The new -omit-fp-contract option overrides this behavior and always generates regular arith.mul and arith.add operations.

Note: polybench tests add this flag to avoid needing to be updated.

@victor-eds victor-eds added the sycl-mlir Pull requests or issues for sycl-mlir branch label Nov 8, 2023
@victor-eds victor-eds self-assigned this Nov 8, 2023
@victor-eds victor-eds requested a review from a team as a code owner November 8, 2023 16:21
@victor-eds
Copy link
Contributor Author

Note this is not intended to work with sycl wrapped types, as it is the case on DPC++.

If the language options allow that, contract FP
operations (multiplication and addition) to `math.fma`. These are
lowered to `llvm.fma.*` intrinsics in later stages of the pipeline.

The new `-omit-fp-contract` option overrides this behavior and
generates regular `arith.mul` and `arith.add` operations.

**Note:** `polybench` tests add this flag to avoid needing to update
the tests.

Signed-off-by: Victor Perez <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sycl-mlir Pull requests or issues for sycl-mlir branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants