|
Revision tags: llvmorg-21-init |
|
| #
97055005 |
| 23-Jan-2025 |
Fraser Cormack <fraser@codeplay.com> |
[libclc] Move nextafter to the CLC library (#124097)
There were two implementations of this - one that implemented nextafter
in software, and another that called a clang builtin. No in-tree targets
[libclc] Move nextafter to the CLC library (#124097)
There were two implementations of this - one that implemented nextafter
in software, and another that called a clang builtin. No in-tree targets
called the builtin, so all targets build the software version. The
builtin version has been removed, and the software version has been
renamed to be the "default".
This commit also optimizes nextafter, to avoid scalarization as much as
possible. Note however that the (CLC) relational builtins still
scalarize; those will be optimized in a separate commit.
Since nextafter is used by some convert_type builtins, the diff to IR
codegen is not limited to the builtin itself.
show more ...
|
|
Revision tags: llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3 |
|
| #
b4249546 |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_recip: Switch implementation to native_recip
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325061
|
| #
ed28c445 |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_log2: Switch implementation to native_log2
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325060
|
| #
86cbf56a |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_log10: Switch implementation to native_log10
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325059
|
| #
65fd65ef |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_log: Switch implementation to native_log
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325058
|
| #
2d3b6dfd |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_exp2: Switch implementation to native_exp2
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325057
|
| #
021264c7 |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_exp10: Switch implementation to native_exp10
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325056
|
| #
4879dd74 |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_exp: Switch implementation to native_exp
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325055
|
| #
bca92445 |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_sqrt: Switch implementation to native_sqrt
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325054
|
| #
aad28681 |
| 13-Feb-2018 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/half_rsqrt: Switch implementation to native_rsqrt
Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325053
|
|
Revision tags: llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1, llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2 |
|
| #
8dc6e98d |
| 10-Nov-2017 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu: Add workaround for unimplemented llvm.exp intrinsic
Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 317935
|
|
Revision tags: llvmorg-5.0.1-rc1 |
|
| #
47e093da |
| 25-Oct-2017 |
Jan Vesely <jan.vesely@rutgers.edu> |
math: Implement native_log10
Use llvm instrinsic by default Provide amdgpu workaround
v2: drop old amd copyrights
Reviewer: Aaron Watry Reviewed-by: Vedran Miletić <vedran@miletic.net> Signed-off-
math: Implement native_log10
Use llvm instrinsic by default Provide amdgpu workaround
v2: drop old amd copyrights
Reviewer: Aaron Watry Reviewed-by: Vedran Miletić <vedran@miletic.net> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 316588
show more ...
|
| #
9fedbb9d |
| 25-Oct-2017 |
Jan Vesely <jan.vesely@rutgers.edu> |
amdgpu/math: Don't use llvm instrinsic for native_log
AMDGPU targets don't have insturction for it, so it'll be expanded to C * log2 anyway.
v2: use native_log2 instead of the more precise sw imple
amdgpu/math: Don't use llvm instrinsic for native_log
AMDGPU targets don't have insturction for it, so it'll be expanded to C * log2 anyway.
v2: use native_log2 instead of the more precise sw implementation v3: move to amdgpu v4: drop old AMD copyright
Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 316587
show more ...
|
| #
3d349ea9 |
| 10-Oct-2017 |
Jan Vesely <jan.vesely@rutgers.edu> |
Make image builtins r600/llvm-3.9 only
The implementation uses r600 sepcific intrinsics LLVM-4 switched to _ro_t and _rw_t image types Portions of the code can be moved back as more targets/llvm ver
Make image builtins r600/llvm-3.9 only
The implementation uses r600 sepcific intrinsics LLVM-4 switched to _ro_t and _rw_t image types Portions of the code can be moved back as more targets/llvm versions add image support
Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 315341
show more ...
|
| #
1fa727d6 |
| 25-Sep-2017 |
Jan Vesely <jan.vesely@rutgers.edu> |
Rework atomic ops to use clang builtins rather than llvm asm
reviewer: Aaron Watry
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 314112
|
| #
e337b30c |
| 04-Sep-2017 |
Jan Vesely <jan.vesely@rutgers.edu> |
r600: Cleanup barrier implementation.
We don't have memory fences for r600 so just call group barrier directly Make sure that barrier is called even with 0 flags
Signed-off-by: Jan Vesely <jan.vese
r600: Cleanup barrier implementation.
We don't have memory fences for r600 so just call group barrier directly Make sure that barrier is called even with 0 flags
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Aaron Watry <awatry@gmail.com> llvm-svn: 312492
show more ...
|
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
| #
958fce31 |
| 25-Aug-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
amdgcn: Fix return type of get_num_groups
llvm-svn: 279723
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3 |
|
| #
26d9c41f |
| 24-Aug-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
amdgcn: Fix return type for get_global_size
llvm-svn: 279644
|
| #
220268d1 |
| 20-Aug-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
amdgcn: Fix get_local_size IR return type
llvm-svn: 279350
|
|
Revision tags: llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
| #
74f02db9 |
| 22-Jul-2016 |
Jan Vesely <jan.vesely@rutgers.edu> |
AMDGPU: Use clang intrinsics for workitem builtins
v2: split into 2 patches use clang builtins for other intrinsics as well
v3: Fix warnings Switch r600 to use implictarg.ptr
Signed-off-by
AMDGPU: Use clang intrinsics for workitem builtins
v2: split into 2 patches use clang builtins for other intrinsics as well
v3: Fix warnings Switch r600 to use implictarg.ptr
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 276442
show more ...
|
| #
b456c6dd |
| 18-Jul-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Replace llvm.AMDGPU.ldexp with llvm.amdgcn.ldexp
It didn't really work on r600 to begin with, which should get its own intrinsic.
llvm-svn: 275813
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
| #
45e6eaaa |
| 17-Feb-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
amdgcn: Use new workitem intrinsics
llvm-svn: 261042
|
| #
a48e15c6 |
| 13-Feb-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Split sources for amdgcn and r600
Most files remain in a common amdgpu directory.
Also switches barriers to to use convergent, and use llvm.amdgcn.s.barrier.
This now requires 3.9/trunk to build a
Split sources for amdgcn and r600
Most files remain in a common amdgpu directory.
Also switches barriers to to use convergent, and use llvm.amdgcn.s.barrier.
This now requires 3.9/trunk to build amdgcn.
llvm-svn: 260777
show more ...
|