[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