diff options
author | Fraser Cormack <fraser@codeplay.com> | 2025-01-20 16:27:51 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-20 16:27:51 +0000 |
commit | c8eb865747ea0006470a0ab130056293fcb536cb (patch) | |
tree | 1b2dcdd804ebbc156a62001f12949b520ccadf60 /llvm/lib/Transforms/Utils/ModuleUtils.cpp | |
parent | 8368018f2097e330a6b6ec0a9372487df020c511 (diff) | |
download | llvm-c8eb865747ea0006470a0ab130056293fcb536cb.zip llvm-c8eb865747ea0006470a0ab130056293fcb536cb.tar.gz llvm-c8eb865747ea0006470a0ab130056293fcb536cb.tar.bz2 |
[libclc] Move mad to the CLC library (#123607)
All targets build `__clc_mad` -- even SPIR-V targets -- since it
compiles to the optimal `llvm.fmuladd` intrinsic. There is no change to
the bytecode generated for non-SPIR-V targets.
The `mix` builtin, which is implemented as a wrapper around `mad`, is
left as an OpenCL-layer wrapper of `__clc_mad`. I don't know if it's
worth having a specific CLC version of `mix`.
The changes to the other CLC files/functions are moving uses of `mad` to
`__clc_mad`, and reformatting. There is an additional instance of
`trunc` becoming `__clc_trunc`, which was missed before.
Diffstat (limited to 'llvm/lib/Transforms/Utils/ModuleUtils.cpp')
0 files changed, 0 insertions, 0 deletions