diff options
| author | Fraser Cormack <fraser@codeplay.com> | 2025-01-29 13:45:33 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-29 13:45:33 +0000 |
| commit | 7441e87fe05376782d0ddb90a13e1756eb1b1976 (patch) | |
| tree | 8cfa4a416e0cd080992bca46b714d32d03bbebc2 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | cf37ae5caeafb372593ca4bb9ce0e91258524ca1 (diff) | |
[libclc] Move several integer functions to CLC library (#116786)
This commit moves over the OpenCL clz, hadd, mad24, mad_hi, mul24,
mul_hi, popcount, rhadd, and upsample builtins to the CLC library.
This commit also optimizes the vector forms of the mul_hi and upsample
builtins to consistently remain in vector types, instead of recursively
splitting vectors down to the scalar form.
The OpenCL mad_hi builtin wasn't previously publicly available from the
CLC libraries, as it was hash-defined to mul_hi in the header files.
That issue has been fixed, and mad_hi is now exposed.
The custom AMD implementation/workaround for popcount has been removed
as it was only required for clang < 7.
There are still two integer functions which haven't been moved over. The
OpenCL mad_sat builtin uses many of the other integer builtins, and
would benefit from optimization for vector types. That can take place in
a follow-up commit. The rotate builtin could similarly use some more
dedicated focus, potentially using clang builtins.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
