[all-commits] [llvm/llvm-project] 4f107c: [libclc] Move sin, cos & sincos to CLC library (#1...
Fraser Cormack via All-commits
all-commits at lists.llvm.org
Mon May 12 03:32:37 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4f107cd8f8b879fa611a7afbd70b9d029d2bdf29
https://github.com/llvm/llvm-project/commit/4f107cd8f8b879fa611a7afbd70b9d029d2bdf29
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_cos.h
A libclc/clc/include/clc/math/clc_sin.h
A libclc/clc/include/clc/math/clc_sincos.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
A libclc/clc/include/clc/math/clc_sincos_helpers_fp64.inc
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cos.cl
A libclc/clc/lib/generic/math/clc_cos.inc
A libclc/clc/lib/generic/math/clc_sin.cl
A libclc/clc/lib/generic/math/clc_sin.inc
A libclc/clc/lib/generic/math/clc_sincos.cl
A libclc/clc/lib/generic/math/clc_sincos.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
A libclc/clc/lib/generic/math/clc_sincos_helpers_fp64.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/sincos.h
R libclc/generic/include/clc/math/sincos.inc
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/cos.cl
R libclc/generic/lib/math/cos.inc
M libclc/generic/lib/math/sin.cl
R libclc/generic/lib/math/sin.inc
M libclc/generic/lib/math/sincos.cl
R libclc/generic/lib/math/sincos.inc
R libclc/generic/lib/math/sincos_helpers.cl
R libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move sin, cos & sincos to CLC library (#139527)
This commit moves the remaining FP64 sin and cos helper functions to the
CLC library. As a consequence, it formally moves all sin, cos and sincos
builtins to the CLC library. Previously, the FP16 and FP32 were
nominally there but still in the OpenCL layer while waiting for the FP64
ones.
The FP64 builtins are now vectorized as the FP16 and FP32 ones were
earlier.
One helper table had to be changed. It was previously a table of bytes
loaded by each work-item as uint4. Since this doesn't vectorize well,
the table was split to load two ulongNs per work-item. While this might
not be as efficient on some devices, one mitigating factor is that we
were previously loading 48 bytes per work-item in total, but only using
40 of them. With this commit we only load the bytes we need.
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