commit: 4539cbe9ff32de119088e0d6a2b2caba7ebffed8 Author: Sv. Lockal <lockalsash <AT> gmail <DOT> com> AuthorDate: Sat Jul 5 14:20:35 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Jul 7 22:24:51 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4539cbe9
dev-util/Tensile: fix compilation of sci-libs/rocBLAS on gfx906 Clang-20 disallowed op_sel in some VOP3P dot instructions. See: https://github.com/llvm/llvm-project/pull/100485 As ROCm maintains a fork of Clang, these changes did not reach official ROCm releases. However Gentoo uses original Clang-20, which has these incompatible changes. Luckilly, in Tensile these op_sel do nothing. Generally, they allow to shuffle vector elements before multiplication, but with values 0,0/1,1 shuffling is disabled and op_sel can be removed. Closes: https://bugs.gentoo.org/949817 Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42887 Closes: https://github.com/gentoo/gentoo/pull/42887 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-util/Tensile/{Tensile-6.4.1.ebuild => Tensile-6.4.1-r1.ebuild} | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dev-util/Tensile/Tensile-6.4.1.ebuild b/dev-util/Tensile/Tensile-6.4.1-r1.ebuild similarity index 93% rename from dev-util/Tensile/Tensile-6.4.1.ebuild rename to dev-util/Tensile/Tensile-6.4.1-r1.ebuild index 48f0501c389a..76e374f937b9 100644 --- a/dev-util/Tensile/Tensile-6.4.1.ebuild +++ b/dev-util/Tensile/Tensile-6.4.1-r1.ebuild @@ -81,10 +81,13 @@ src_prepare() { sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + # bug 949817: fix v_dot4_i32_i8 syntax for clang-20 + sed 's/ op_sel:\[0,0\] op_sel_hi:\[1,1\]//' -i Components/MAC_I8X4.py || die + popd || die sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die - use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare + use client && PATCHES='' cmake_src_prepare # do not apply patches again in cmake_src_prepare } src_configure() {
