[all-commits] [llvm/llvm-project] db98e2: [libclc] Move log1p/asinh/acosh/atanh to the CLC l...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Thu Mar 27 02:19:28 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: db98e2922f0121f2c6fb3d6f42b40f9774f9a563
      https://github.com/llvm/llvm-project/commit/db98e2922f0121f2c6fb3d6f42b40f9774f9a563
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_acosh.h
    A libclc/clc/include/clc/math/clc_asinh.h
    A libclc/clc/include/clc/math/clc_atanh.h
    A libclc/clc/include/clc/math/clc_ep_log.h
    A libclc/clc/include/clc/math/clc_ep_log.inc
    A libclc/clc/include/clc/math/clc_log1p.h
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_acosh.cl
    A libclc/clc/lib/generic/math/clc_acosh.inc
    A libclc/clc/lib/generic/math/clc_asinh.cl
    A libclc/clc/lib/generic/math/clc_asinh.inc
    A libclc/clc/lib/generic/math/clc_atanh.cl
    A libclc/clc/lib/generic/math/clc_atanh.inc
    A libclc/clc/lib/generic/math/clc_ep_log.cl
    A libclc/clc/lib/generic/math/clc_ep_log.inc
    A libclc/clc/lib/generic/math/clc_log1p.cl
    A libclc/clc/lib/generic/math/clc_log1p.inc
    A libclc/clc/lib/generic/math/clc_tables.cl
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/clc_pow.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_rootn.cl
    R libclc/generic/lib/math/ep_log.cl
    R libclc/generic/lib/math/ep_log.h
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/tables.cl
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move log1p/asinh/acosh/atanh to the CLC library (#132956)

These four functions all related in that they share tables and helper
functions. Furthermore, the acosh and atanh builtins call log1p.

As with other work in this area, these builtins are now vectorized. To
enable this, there are new table accessor functions which return a
vector of table values using a vector of indices. These are internally
scalarized, in the absence of gather operations. Some tables which were
tables of multiple entries (e.g., double2) are split into two separate
"low" and "high" tables. This might affect the performance of memory
operations but are hopefully mitigated by better codegen overall.



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