[all-commits] [llvm/llvm-project] 70c325: [libclc] Move fp32 sincos helpers to CLC library (...
Fraser Cormack via All-commits
all-commits at lists.llvm.org
Mon Mar 24 09:09:52 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 70c325bf6a1d3d801957e8714178c833156a72e3
https://github.com/llvm/llvm-project/commit/70c325bf6a1d3d801957e8714178c833156a72e3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_sincos_helpers.h
A libclc/clc/include/clc/math/clc_sincos_helpers.inc
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_sincos_helpers.cl
A libclc/clc/lib/generic/math/clc_sincos_helpers.inc
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/cos.cl
A libclc/generic/lib/math/cos.inc
M libclc/generic/lib/math/sin.cl
A libclc/generic/lib/math/sin.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
Log Message:
-----------
[libclc] Move fp32 sincos helpers to CLC library (#132753)
This commit moves most of the sincos helper functions to the CLC
library. It simultaneously vectorizes them with the aim to increase
performance for vector types by avoiding scalarization.
Some helpers for double types remain as they use various features not
yet ready, like 'fract' which in turn relies on 'fmin'; neither of these
are in the CLC library. They also use table lookups and type punning
which don't translate well to vector versions.
As a proof of concept, float and half versions of the sin and cos
builtins are now vectorized and use the CLC helpers to do so. They
remain in the OpenCL layer but will be simpler to move to the CLC
library when the double versions are ready.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list