aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorFraser Cormack <fraser@codeplay.com>2025-05-13 11:47:35 +0100
committerGitHub <noreply@github.com>2025-05-13 11:47:35 +0100
commit95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9 (patch)
treecea4c68e5a6525a05b4565be83d58b7c011b96c4 /clang/lib/CodeGen/CodeGenModule.cpp
parent0e8f0b51ff598689b5eccc8b28c402b0dbcc97be (diff)
downloadllvm-95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9.zip
llvm-95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9.tar.gz
llvm-95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9.tar.bz2
[libclc] Move logb/ilogb to CLC library; optimize (#128028)
This commit moves the logb and ilogb builtins to the CLC library. It simultaneously optimizes them both for vector types and for half types. Vector types were being scalarized in some cases. Half types were previously promoting to float, whereas this commit provides them a native implementation. Everything passes the OpenCL-CTS. I had to intuit some magic numbers used by these implementations in order to generate the half variants. I gave them clearer definitions derived from what I believe are their actual component numbers, but named them 'magic' to convey that they weren't derived from first principles.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions