| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: libclc | Distribution: openSUSE Tumbleweed |
| Version: 0.2.0+llvm23.1.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Mon Oct 5 00:03:38 2026 |
| Group: Development/Libraries/C and C++ | Build host: reproducible |
| Size: 11296217 | Source RPM: libclc-0.2.0+llvm23.1.0-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://libclc.llvm.org/ | |
| Summary: OpenCL C programming language library | |
Library requirements of the OpenCL C programming language.
Apache-2.0 WITH LLVM-exception AND (BSD-3-Clause OR MIT)
* Sun Oct 04 2026 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 23.1.0.
* Compile w/o linking builtins with SPIRV backend
* Rework libclc naming convention to use the triple
* Make output filename configurable; rename top-level targets
* Bring back fma for clspv
* Stop building amdgpu targets all as tahiti
* Fix broken symlinks
* Fix memory_scope and memory_order of *mem_fence builtins
* Add __clc_issubnormal
* Remove r600 support
* Enable -ffp-contract=fast-honor-pragmas globally
* Compile with -fdenormal-fp-math=dynamic
* Add subnormals back to clspv
* Reimplement amdhsa workitem functions
* Fix checking for arch including OS in wrong place
* Implement address space qualifier functions for amdgpu
* Implement get_enqueued_local_size
* Reimplement amdhsa dispatch size functions
* Define work_group_barrier
* Add atomic_work_item_fence
* Add amdgpu subgroup functions
* Add sub_group_broadcast
* Reimplement amdhsa get_num_groups
* Implement get_global_linear_id and get_local_linear_id
* Avoid duplicated get_local_size/get_global_size functions
* Fix amdgpu get_enqueued_local_size
* Add amdgpu wait_group_events
* Remove target definitions of opencl workitem functions
* Add __printf_alloc implementation
* Move get_global_id into clc
* Use enqueued local size to implement get_global_id
* Use separate acquire and release fences in work_group_barrier
* Remove target opencl copies of mem_fence
* Move sub_group_barrier to clc
* Rename sub_group_broadcast header
* Move subgroup functions into clc
* Add work_group_any/work_group_all implementation
* Add work_group_broadcast
* Fix wait_group_events build for targets without generic
* Add uintptr_t overloads of atomic_fetch_add and sub
* Correctly declare __clc_get_max_sub_group_size as taking no
arguments
* Add sub_group_reduce_* functions
* Fix logic for fence ordering based on mem flags
* Add work_group_reduce_* functions
* Remove old mesa amdgcn targets
* Replace last of `opencl` atomics with `__scoped_` versions
* Merge amdgpu and amdgcn directories
* Remove amdgpu sqrt override
* Use elementwise exp for exp functions
* Fix missing clc prefixes on some clc files
* Remove unused and incorrect pkgconf file
* Add div_cr utility function
* Add sqrt_cr utility
* Add fast version utility functions for div, sqrt and reciprocal
* Use frexp builtins to implement frexp for amdgpu
* Add gentype infinity macro
* Add frexp_exp utility function
* Update hypot, ilogb, logb implementation
* Add ep utility
* Update f64 log implementations
* Replace fmod implementation with elementwise builtin
* Replace nextafter implementation
* Improve fdim handling
* Improve minmag and maxmag
* Fix mismatch in declared and defined function name
* Disable contract in trig reductions
* Remove attempt at subnormal flush from trig functions
* Add generic clc_mem_fence instruction
* Fix compiler check with --target=spirv64 and
- disable-llvm-passes
* Use struct for ep pair
* Use fshr builtin in sincos helpers
* Move edge case handling of trig functions
* Update pow functions
* Use frexp and ldexp in trig reduction instead of bit hacking
* Use small trig reduction for nan
* Improve large float trig reduction
* Use select function instead of ?: for some fp selects
* Clean up sincos macro usage
* Improve float trig function handling
* Fix vector float tan
* Move FLT_MIN gentype macros
* Move subnormal config file to clc
* Invert subnormal checks
* Really implement denormal config checks
* Update f64 trig functions
* Add canonicalize utility functions
* Fix nextafter with -cl-denorms-are-zero
* Stop implementing sincos as separate sin and cos
* Really implement half trig functions
* Restore previous generic fmod implementation
* Replace flush_if_daz implementation
* Implement sin and cos with sincos
* Update trigpi functions
* Rewrite log implementation as gentype inc file
* Use log intrinsic for half and float cases for amdgpu
* Override cbrt for AMDGPU
* Update acos, remquo, asin, atan
* Implement remainder with remquo
* Simplify rtz conversion
* Use nextup and nextdown in place of nextafter
* Fix -cl-denorms-are-zero for rtp and rtn conversions
* Update log1p, lgamma_r
* Improve tgamma handling
* Update expm1, sinh, cosh, tanh, asinh, acosh, atanh, atanpi,
asinpi, acospi
* Unify fast FMA controls
* Force assuming fast float fma for AMDGPU
* clspv does not need workaround for flush_if_daz
* Fix amdgpu subgroup reduce for max u64
* Fix amdgpu sub_group_broadcast for double
* Fix directly adding vector booleans
* Use prefetch builtin to implement default prefetch
* Update erf, erfc, atan2, atan2pi
* Implement get_sub_group_id with get_local_linear_id
* Fix missing overloads for atomic_fetch_add/sub
* Add subgroup scan functions
* Add work group scan functions
* Partially implement nonuniform subgroup reduce functions
* Simplify fract implementation
* Use special division for atan2 for DAZ
* Refine generic __clc_get_sub_group_size with fast full
sub-group path
* Fix atomic_fetch_add/sub overloads for uintptr_t
* Allow testing unresolved symbols on multiple libraries
* Consolidate `amdgpu` and `amdgcn` architectures consistently
* Create a static `.a` file in addition to the `.bc` file
* Apply hidden visibility to amdgpu / nvptx builds
* Add optimized DPP scan functions for AMDGPU
* Move sources collection into libclc_add_builtin_library, merge
opencl library creation into libclc_add_library
* Fix .cl tests in standalone build
* Optimize and vectorize signbit
* Use float sw_fma for spirv*-mesa-mesa3d targets
* Use generic spirv*-unknown-unknown clang triple for SPIR-V
targets
* Improve performance and precision of reciprocal functions
* Use FMA for the pi reconstruction in acos / atan
* Use __CLC_SCALAR instead of nonexistant __CLC_SCALAR1 for sin
* Use unchecked division for f64 AMDGPU reciprocal
* Delete wrong implementation nvptx clc_isinf
- Produce the library for spirv32/spirv64, as required for Mesa.
- No longer provide libclc(llvmN), because we no longer ship LLVM
bit code (only SPIR-V).
- Always pin compiler to matching version.
- Disabling LTO no longer needed, C/C++ flags are ignored anyway.
- Drop rpmlintrc that is no longer needed.
- Drop obsolete patches:
* fix-subnormal-build.patch
* mark-clc-flush-denormal-if-not-supported-as-static.patch
- Rebase cmake-use-imported-targets.patch.
* Wed Sep 30 2026 Stefan Dirsch <sndirsch@suse.com>
- require llvm23 also for sle16
* Sun Jul 26 2026 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Add mark-clc-flush-denormal-if-not-supported-as-static.patch to
work around missing definition errors.
- Tell CMake where to find the compiler if versioned Clang/LLVM is
used. (However, that compiler isn't actually used for the build.)
- Add cmake-use-imported-targets.patch to make the build use the
imported targets. This ensures we're picking up the right tools
when versioned Clang/LLVM is used.
- Rewrite fix-subnormal-build.patch with upstream git root as base.
- Fix list of targets for SLE/Leap 15.x.
* Thu Apr 23 2026 Stefan Dirsch <sndirsch@suse.com>
- build against llvm22/clang22 on older products than TW in order
to hopefully fix build ...
* Tue Apr 21 2026 Stefan Dirsch <sndirsch@suse.com>
- use 0%{?suse_version} >= 1699 for TW (> 1600 now includes Leap 16.1)
* Mon Apr 20 2026 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 22.1.0. For now we build the tarball ourselves,
because upstream no longer provides it. (With LLVM 23, it seem
that a standalone build will be unsupported anyway.)
* Remove llvm-link --override flag and make implementation
self-contained.
* Initial support for cross-compiling OpenCL libraries.
* Add support for `nvptx64-nvidia-cuda` triple.
* Remove bitcode prepare utility from OpenCL library build.
* Update default triple support for AMD and deprecate 32-bit PTX.
* Compile clc_convert_float2int.cl and clc_convert_int2float.cl
separately.
* Fix incorrect argument format.
* Suppress AMDGCN code object version for library code.
* Improve __clc_min/max/clamp implementation.
* Use clc functions in clspv/shared/vstore_half.cl.
* Fix clspv/shared/vstore_half.cl.
* Add OpenCL atomic_*_explicit builtins.
* Fix memory fence scope mapping for OpenCL.
* Fix build in atomic_def.inc.
* Fix bitfield_insert implementation.
* Use __scoped_atomic_udec/uinc_wrap to implement
_clc_atomic_dec/inc.
* Add atomic_init, atomic_flag_clear and
atomic_flag_test_and_set.
* Use CLC atomic functions for legacy OpenCL atom/atomic
builtins.
* Fix link to source in index.html.
* Fix floating-point __clc_atomic_store/exchange cast mismatch.
* Implement integer __clc_abs using __builtin_elementwise_abs.
* Fix double NAN_MASK in __clc_nan.
* Move functions definition from header clc_sincos_piby4.inc into
clc_sincos_helpers.cl.
* Change libclc install dir to ${clang_resource_dir}/lib/libclc
in in-tree build.
* Remove -fno-builtin from compile options.
* Add gfx1250 and gfx1251 to amdgpu target list.
* Remove __attribute__((always_inline)).
* Create LIBCLC_OUTPUT_LIBRARY_DIR directory before build.
* Remove HAVE_LLVM version macros.
* Implement erf/erfc vector function with loop since scalar
function is large.
* Override generic symbol using llvm-link --override flag instead
of using weak linkage.
* Update __clc_mem_fence: add MemorySemantic arg and use
__builtin_amdgcn_fence for AMDGPU.
* Only create a target per each compile command for cmake MSVC
generator.
* Use elementwise ctlz/cttz builtins for CLC clz/ctz.
* Implement __clc_get_local_size/__clc_get_max_sub_group_size for
amdgcn.
* Fix out-of-bound value for workitem functions according to
OpenCL spec.
* Add __attribute__((const)) to functions that don't access
memory.
* Fix libclc install on Windows when MSVC generator is used.
* Implement clc_log/sinpi/sqrt with __nv_* functions.
* Move mem_fence and barrier to clc library.
* Refine id in async_work_group_copy STRIDED_COPY.
* Add an option to build SPIR-V targets with the LLVM backend.
* Optimize generic CLC fmin/fmax.
* Fix building top-level 'libclc' target.
* Add generic native half implementation of __clc_normalize.
* Simplify unary_def_scalarize.inc's use in
__clc_erf/erfc/tgamma.
* Fix installed symlinks to be relative again.
* Add generic implementation of some atomic functions in OpenCL
spec section 6.15.12.7.
* Add generic implementation of
bitfield_insert/extract,bit_reverse.
* Enable `clang fp reciprocal` in
clc_native_divide/recip/rsqrt/tan.
* Enable -fdiscard-value-names build flag to reduce bitcode size.
- Add fix-subnormal-build.patch to fix build of subnormal runtimes.
* Mon Apr 20 2026 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Use clang/llvm-devel in Factory.
* Thu Jan 22 2026 Stefan Dirsch <sndirsch@suse.com>
- BuildRequire clang21-devel/llvm21-devel, no matter which
suse_version/sle_version is being used
* Mon Sep 22 2025 Stefan Dirsch <sndirsch@suse.com>
- let Leap 15.6 llvm/clang 21
* Wed Sep 10 2025 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 21.1.0.
* Move (add|sub)_sat to CLC; optimize
* Move several integer functions to CLC library
* Remove use of symlinks
* Move mad_sat to CLC; optimize for vector types
* Move rotate to CLC library; optimize
* Allow default path when looking for llvm-spirv
* Have all targets build all CLC functions
* Move sign to the CLC builtins library
* Move conversion builtins to the CLC library
* [cmake] Fix per-target *_convert.cl dependencies
* Fix dependencies on generated convert builtins
* Disable external-calls testing for clspv targets
* Suppress data-layout warnings during linking
* Use CLC conversion builtins in CLC functions
* Replace gfx940 and gfx941 with gfx942
* Improve nextafter behaviour around zero
* Clean up directory search procedure
* Explicitly qualify private address spaces
* Move modf to the CLC library
* Move frexp to CLC library; optimize half vecs
* Define macros for users of gentype.inc
* Fix int<->float conversion builtins
* Move fma to the CLC library
* Remove clspv-specific clc conversions
* Move nan to the CLC library
* Stop using asm declarations for r600 on amdgcn for
get_global_size
* Move log/log2/log10 to CLC library
* Move round to CLC library
* Move __clc_ldexp to CLC library
* Make CLC library warning-free
* Move sqrt to CLC library
* Move rsqrt to the CLC library
* Move hypot to CLC library; optimize
* Reduce bithacking in CLC frexp
* Stop installing CLC headers
* Add missing gfx950 target
* Update license headers
* add --only-needed to llvm-link when INTERNALIZE flag is set
* link_bc target should depends on target
builtins.link.clc-arch_suffix
* Add license headers to files missing them
* Relicense gen_convert.py
* erfc: fix fp32 implementation in FTZ mode
* Move fp32 sincos helpers to CLC library
* Add missing license headers to source IR files
* Move asin/acos/atan to the CLC library
* Move asinpi/acospi/atanpi to the CLC library
* Move log1p/asinh/acosh/atanh to the CLC library
* Move atan2/atan2pi to the CLC library
* Move fmod, remainder & remquo to the CLC library
* Pass -fapprox-func when compiling 'native' builtins
* Move pow, powr & pown to the CLC library
* Implement native_exp2 via AMD builtin
* Fix unresolved reference to missing table
* Move rootn to the CLC library; optimize
* Move several 'native' builtins to CLC library
* Move sinpi/cospi/tanpi to the CLC library
* Move exp10 to the CLC library
* Move exp, exp2 and expm1 to the CLC library
* Move cbrt to the CLC library; vectorize
* Move lgamma, lgamma_r & tgamma to CLC library
* Move sinh, cosh & tanh to the CLC library
* Move native_(exp10|powr|tan) to CLC library
* clspv: add a dummy implememtation for mul_hi
* frexp: fix implementation regarding denormals
* Move shuffle/shuffle2 to the CLC library
* clspv: fma: remove fp16 implementation
* Fix commands in compile_to_bc are executed sequentially
* Add ctz built-in implementation to clc and generic
* Build for OpenCL 3.0
* Fix unguarded use of image types
* Re-enable compiler warning
* only check filename part of the source for avoiding duplication
* Remove unnecessary clcmacros.h
* Remove (vload|vstore)_half helpers
* Move fmin & fmax to CLC library
* Move fract to the CLC library
* Move fdim to CLC library; simplify
* Avoid casting NANs & literals to 'gentype'
* Add v3 variants of async_work_group_copy/
async_work_group_strided_copy/prefetch
* Clean up unnecessary #undef __CLC_BODYs
* Move minmag & maxmag to the CLC library
* Move log2/log10 tables to CLC tables impl
* Move sin, cos & sincos to CLC library
* Move tan to the CLC library
* Move 'half' builtins to CLC library
* Move (fast) length & distance to CLC library
* Move logb/ilogb to CLC library; optimize
* Move cross to CLC library; add missing half overloads
* Improving vector code generated from scalar code
* Append file_specific_compile_options after ARG_COMPILE_FLAGS
* Mov erf & erfc to CLC library
* Reorganize OpenCL builtins
* Fix header inclusion issues
* Re-use shuffle_decl.inc in OpenCL shuffle2 declaration
* Move all remquo address spaces to CLC library
* Support the generic address space
* Move step to the CLC library; add missing half variants
* Move vload & vstore to CLC library
* Move prefetch to clc library
* clspv: do not set generic_addrspace_val
* Add (fast) normalize to CLC; add half overloads
* Support LLVM_ENABLE_RUNTIMES when building
* Avoid out-of-range float-to-int.
* Add __clc_nan implementation with signed nancode argument
* Add missing clc_lgamma_r with generic address space pointer arg
* Reduce include usage in OpenCL builtins
* Fix typo in OpenCL header math/sincos.h
* Tighten OpenCL builtin include strategy
* Remove catch-all opencl/clc.h
* Declare workitem built-ins in clc, move ptx-nvidiacl workitem
built-ins into clc
- Headers are no longer included.
* Sat Apr 05 2025 Stefan Dirsch <sndirsch@suse.com>
- Update to version 20.1.0 (boo#1240848);changes since 19.1.0:
* Disable external-calls testing for clspv targets (#127529)
* Allow default path when looking for llvm-spirv (#126071)
* Clang-format includes
* Optimize isfpclass-like CLC builtins (#124145)
* clspv: add missing clc_isnan.cl dependency (#124614)
* Move key math headers to CLC (#124739)
* Move copysign to CLC library; fix & optimize (#124598)
* Optimize CLC vector any/all builtins (#124568)
* Optimize CLC vector is(un)ordered builtins (#124546)
* Optimize CLC vector relational builtins (#124537)
* Move nextafter to the CLC library (#124097)
* Don't rely on fp16 pragma guards in headers (#122751)
* Route int bitselect through CLC; add half (#123653)
* Route select through __clc_select (#123647)
* Move mad to the CLC library (#123607)
* Rename include guards. NFC.
* Move degrees/radians to CLC library & optimize (#123222)
* Move smoothstep to CLC and optimize its codegen (#123183)
* Add missing includes to CLC headers (#118654)
* Add Maintainers.md for libclc (#118309)
* Optimize ceil/fabs/floor/rint/trunc (#119596)
* "[libclc] Create aliases with custom_command (#115885)" (#116025)
* "[libclc] Create aliases with custom_command (#115885)" for causing: https://github.com/llvm/llvm-project/issues/115942
* Add some include guards to CLC declarations. NFC
* Create aliases with custom_command (#115885)
* Avoid using undefined vector3 components (#115857)
* Use builtin_convertvector to convert between vector types (#115865)
* Correct use of CLC macro on two definitions
* Move relational functions to the CLC library (#115171)
* Use __clc_max in CLC functions
* Move abs/abs_diff to CLC library
* Move clcmacro.h to CLC library. NFC (#114845)
* Move ceil/fabs/floor/rint/trunc to CLC library (#114774)
* Format clc_fma.cl. NFC
* Format clc_tan.cl. NFC
* Add some include guards and format a file
* Move min/max/clamp into the CLC builtins library (#114386)
* Restore header order, which formatting broke
* Format clc_ldexp.cl and clc_hypot.cl. NFC
* Create an internal 'clc' builtins library
* Split off library build system into helpers
* Add a new target for gfx1153 (#113138)
* Give a helpful error when an unknown target is requested (#111528)
* Convert README to Markdown (#111549)
* Update build instructions in readme (#111369)
* Remove mention of BSD license in readme (#111371)
* Fix installation w/ ENABLE_RUNTIME_SUBNORMAL (#109926)
* More cross compilation fixes (#97811)
- require llvm20/clang20 on sle15 >= sp6
- supersedes fix-cmake-install.patch
* Fri Mar 07 2025 Stefan Dirsch <sndirsch@suse.com>
- buildrequire LLVMSPIRVLib also on SLE15
* Thu Dec 12 2024 Stefan Dirsch <sndirsch@suse.com>
- require llvm19/clang19 on sle15 >= sp6
* Mon Dec 09 2024 Stefan Dirsch <sndirsch@suse.com>
- use clang19-devel, llvm19-devel for sle15-sp7
* Sat Sep 21 2024 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 19.1.0.
* Improved 16-bit floating-point support.
- Add fix-cmake-install.patch to fix syntax error in CMake code.
* Mon Mar 18 2024 Stefan Dirsch <sndirsch@suse.com>
- use clang18-devel, llvm18-devel also for Leap 15.6/15.5 in order to
fix build
* Sat Mar 09 2024 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 18.1.0.
* Fix signed integer underflow in abs_diff.
* Teach prepare-builtins how to handle text-based IR.
* Add half implementation for erf/erfc.
* Add missing AMD gfx symlinks.
* Mon Nov 20 2023 Stefan Dirsch <sndirsch@suse.com>
- let sle15-sp6 require llvm17/clang17
* Wed Sep 20 2023 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 17.0.1.
* No changelog was made available
* Wed Mar 22 2023 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 16.0.0.
- Drop cmake-flags-concat.patch that landed upstream.
- Enable opaque pointers now that Mesa seems to support them.
- Add PGP signatures and keyring for source verification.
* Sat Jan 28 2023 Aaron Puchert <aaronpuchert@alice-dsl.net>
- Add support for SPIR-V targets on Tumbleweed.
/usr/share/clc /usr/share/clc/spirv32-unknown-unknown /usr/share/clc/spirv32-unknown-unknown/libclc.spv /usr/share/clc/spirv64-unknown-unknown /usr/share/clc/spirv64-unknown-unknown/libclc.spv /usr/share/licenses/libclc /usr/share/licenses/libclc/LICENSE.TXT
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Oct 22 00:27:00 2026