Hi,
Thomas Schwinge wrote:
I found that LLVM 19.1.7 (via Guix) doesn't support 'gfx9-4-generic':
Hmm, probably I messed up when doing 'git log' in the LLVM repo…
Do we update the LLVM requirement, or change the (default) configuration?
We surely should update
https://gcc.gnu.org/install/specific.html#amdgcn-x-amdhsa to move
'gfx9-4-generic' from LLVM 19 to 20.
For https://gcc.gnu.org/gcc-16/changes.html, we either could add gfx942
(MI300, supported since LLVM 18) and remove gfx9-4-generic from the
default set (+ do this also in GCC itself) – or change "LLVM 19 and
later" to "LLVM 20 and later".
I am more inclined to do the latter, i.e. require LLVM but keep
supporting MI300 + MI350 out of the box and using 'generic'. (Cf.
attached patches.)
Andrew Stubbs wrote:
Actually, I've been thinking we should document the minimum ROCm
version (6.4.0, according to the release notes), because that's the
most convenient source of LLVM for our users, and I suspect that that
compiler supports slightly more than its LLVM version (19.0.0) would
usually.
I am not sure I understand the ROCm as LLVM source comment.
However, we have in the release notes:
"Generic architectures require ROCm 6.4.0 or newer."
https://gcc.gnu.org/gcc-16/changes.html#amdgcn
and "note that … only ROCm 6.4.0 or newer is able to execute generic
code." at
note that … only ROCm 6.4.0 or newer is able to execute generic code.
* * *
How about the attached patches?
Tobias
gcc-16/changes.html: GCN - fix llvm-mc requirement
diff --git a/htdocs/gcc-16/changes.html b/htdocs/gcc-16/changes.html
index 0a94f22c..c32f133f 100644
--- a/htdocs/gcc-16/changes.html
+++ b/htdocs/gcc-16/changes.html
@@ -357,7 +357,7 @@ struct Affected : E
the command-line option to do so.</li>
<li>Generic architectures require ROCm 6.4.0 or newer.</li>
<li>The new default-built set of multilibs now requires the assembler
- and linker of LLVM 19 or newer.</li>
+ and linker of LLVM 20 or newer.</li>
<li>Consult GCC's
<a href="https://gcc.gnu.org/install/specific.html#amdgcn-x-amdhsa">
AMD installation notes</a> and
GCN - doc/install.texi: Fix gfx9-4-generic llvm-mc requirements
gcc/ChangeLog:
* doc/install.texi (GCN): gfx9-4-generic requires LLVM 20.
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 54f80308c9e..cec3e5b2b56 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -4167,5 +4167,5 @@ At least LLVM 16 is required for @code{gfx1150} and @code{gfx1151},
LLVM 18 for @code{gfx942}, LLVM 19 for the generic @code{gfx9-generic},
-@code{gfx9-4-generic}, @code{gfx10-3-generic}, and @code{gfx11-generic}
-targets and for @code{gfx1152}, while LLVM 20 is required for
-@code{gfx950} and @code{gfx1153}.
+@code{gfx10-3-generic}, and @code{gfx11-generic} targets and for @code{gfx1152},
+while LLVM 20 is required for @code{gfx950}, @code{gfx1153}, and
+@code{gfx9-4-generic}.