[all-commits] [llvm/llvm-project] ad48ff: [libclc] Move several 'native' builtins to CLC lib...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Tue Apr 1 01:21:15 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ad48fffb53003333456b327a2a3f22bd81a77a00
      https://github.com/llvm/llvm-project/commit/ad48fffb53003333456b327a2a3f22bd81a77a00
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/amdgpu/lib/SOURCES
    R libclc/amdgpu/lib/math/native_exp.cl
    R libclc/amdgpu/lib/math/native_exp.inc
    R libclc/amdgpu/lib/math/native_exp2.cl
    R libclc/amdgpu/lib/math/native_log.cl
    R libclc/amdgpu/lib/math/native_log.inc
    R libclc/amdgpu/lib/math/native_log10.cl
    R libclc/amdgpu/lib/math/native_log10.inc
    A libclc/clc/include/clc/math/clc_native_cos.h
    A libclc/clc/include/clc/math/clc_native_exp.h
    A libclc/clc/include/clc/math/clc_native_exp2.h
    A libclc/clc/include/clc/math/clc_native_log.h
    A libclc/clc/include/clc/math/clc_native_log10.h
    A libclc/clc/include/clc/math/clc_native_log2.h
    A libclc/clc/include/clc/math/clc_native_rsqrt.h
    A libclc/clc/include/clc/math/clc_native_sin.h
    A libclc/clc/include/clc/math/clc_native_sqrt.h
    R libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/lib/amdgpu/SOURCES
    A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
    A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
    A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
    A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
    A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_native_cos.cl
    A libclc/clc/lib/generic/math/clc_native_exp.cl
    A libclc/clc/lib/generic/math/clc_native_exp2.cl
    A libclc/clc/lib/generic/math/clc_native_log.cl
    A libclc/clc/lib/generic/math/clc_native_log10.cl
    A libclc/clc/lib/generic/math/clc_native_log2.cl
    A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
    A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
    A libclc/clc/lib/generic/math/clc_native_sin.cl
    A libclc/clc/lib/generic/math/clc_native_sqrt.cl
    M libclc/clc/lib/r600/SOURCES
    A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
    M libclc/generic/lib/math/native_cos.cl
    M libclc/generic/lib/math/native_exp.cl
    M libclc/generic/lib/math/native_exp2.cl
    M libclc/generic/lib/math/native_log.cl
    M libclc/generic/lib/math/native_log10.cl
    M libclc/generic/lib/math/native_log2.cl
    M libclc/generic/lib/math/native_rsqrt.cl
    R libclc/generic/lib/math/native_rsqrt.inc
    M libclc/generic/lib/math/native_sin.cl
    M libclc/generic/lib/math/native_sqrt.cl
    R libclc/generic/lib/math/native_unary_intrinsic.inc
    M libclc/r600/lib/SOURCES
    R libclc/r600/lib/math/native_rsqrt.cl

  Log Message:
  -----------
  [libclc] Move several 'native' builtins to CLC library (#129679)

This commit moves the 'native' builtins that use asm statements to
generate LLVM intrinsics to the CLC library. In doing so it converts
them to use the appropriate elementwise builtin to generate the same
intrinsic; there are no codegen changes to any target except to AMDGPU
targets where `native_log` is no longer custom implemented and instead
used the clang elementwise builtin.

This work forms part of #127196 and indeed with this commit there are no
'generic' builtins using/abusing asm statements - the remaining builtins
are specific to the amdgpu and r600 targets.



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