Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 05 Apr 2024 01:43:21 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 278063] Add znver4 to 14-STABLE examples
Message-ID:  <bug-278063-227-tEQD06Oaa4@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-278063-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-278063-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D278063

Edward.Sanford.Sutton, III <mirror176@hotmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mirror176@hotmail.com

--- Comment #1 from Edward.Sanford.Sutton, III <mirror176@hotmail.com> ---
  Wish this would just document how to find the supported list unless it is
trying to leave out known bad choices (they could be listed as such). If th=
is
is supposed to document a different list, it would be good if it explained =
why.
`clang --print-supported-cpus` gives a list on 14-stable though alphabetica=
lly
sorted and undescribed. `clang -mcpu=3D?` and `clang -mtune=3D?` fail to re=
turn the
same result contrary to what `man clang` says should happen. The meaning of
CPUTYPE should be more clearly described and any changes better used with it
specifically should be documented in that section.
  I presume CPUTYPE definitions should be provided in a conditional way so =
that
the next best supported choice can be chosen in case of ports calling diffe=
rent
compiler versions. If the document is an example, such an example would be =
good
to see.
  That inclusion is already visible in
https://cgit.freebsd.org/src/tree/share/examples/etc/make.conf and should
likely be backported.
  With `clang --print-supported-cpus` on 'Target: x86_64-unknown-freebsd14.=
0`,
there are more differences (alphabetically sorted, not sorted by brand, rel=
ease
date or order of preference/features). make.conf's example changelog says it
was last updated to clang12. Differences between compilers in ports and
versions in each version's base should be checked if make.conf's examples f=
or
CPUTYPE is intended to match the base compiler.
  As an interesting note, `clang -print-targets` says x86-64 is the target,=
 but
`clang --target=3Dx86-64-unknown-freebsd14.0 --print-supported-cpus` fails =
until
changed to 'x86_64'; this is true of -print-targets output from 11 to -deve=
l.
Similarly, `clang --target=3Dx86 --print-supported-cpus` has no supported t=
argets
while '--target=3Dx86_64' does. If there is no compatible targets, the outp=
ut
does not end itself with a newline; shell prompt is placed at the end of the
output. Are these bugs that upstream should know of, are they FreeBSD speci=
fic,
or did I misunderstand their use and output?

llvm versions used to follow --print-supported-cpus differences:
llvm10-10.0.1_12
llvm11-11.0.1_9 (no change)
llvm12-12.0.1_13
llvm13-13.0.1_7 (no change)
llvm14-14.0.6_5
llvm15-15.0.7_10 (no change)
llvm16-16.0.6_10
llvm17-17.0.6_5 (matches 14-stable base version output)
llvm18-18.1.2
llvm-devel-19.0.d20240212_1 (no change)

Differences for consideration (clang version suggesting change, '-#' means
version that removed it)...
x86_64:
+ atom (12)
+ atom_sse4_2 (17)
+ atom_sse4_2_movbe (17)
+ arrowlake (18)
+ arrowlake-s (18)
+ arrowlake_s (18)
+ barcelona (12)
- c7 (-12)
+ clearwaterforest (18)
- core (-12)
+ core-avx-1 (12)
+ core-avx2 (12)
+ core_2_duo_sse4_1 (17)
+ core_2_duo_ssse3 (17)
+ core_2nd_gen_avx (17)
+ core_3rd_gen_avx (17)
+ core_4th_gen_avx (17)
+ core_4th_gen_avx_tsx (17)
+ core_5th_gen_avx (17)
+ core_5th_gen_avx_tsx (17)
+ core_aes_pclmulqdq (17)
+ core_i7_sse4_2 (17)
+ corei7 (12)
+ corei7-avx (12)
+ emeraldrapids (16)
+ generic (12)
+ goldmont_plus (17)
+ gracemont (18)
+ grandridge (16)
+ graniterapids (16)
+ graniterapids-d (17)
+ graniterapids_d (17)
+ i386 (12)
+ i586 (12)
+ i686 (12)
+ icelake_client (17)
+ icelake_server (17)
- k7 (-12)
+ lakemont (12)
+ lunarlake (18)
+ meteorlake (16)
+ mic_avx512 (17)
+ pantherlake (18)
+ penryn (12)
+ pentium_4 (17)
+ pentium_4_sse3 (17)
+ pentium_ii (17)
+ pentium_iii (17)
+ pentium_iii_no_xmm_regs (17)
+ pentium_m (17)
+ pentium_mmx (17)
+ pentium_pro (17)
+ raptorlake (16)
+ rocketlake (14)
+ sierraforest (16)
+ skx (12)
+ skylake_avx512 (17)
+ slm (12)
+ winchip-c6 (12)
+ winchip2 (12)
+ x86-64 (<=3D10)
+ x86-64-v2 (12)
+ x86-64-v3 (12)
+ x86-64-v4 (12)
+ yonah (12)
+ znver4 (16)

arm(11), armeb(11), thumb(11), thumbeb(11) (only some shared with arm64 lin=
e):
+ arm1020e (11)
+ arm1020t (11)
+ arm1022e (11)
+ arm10e (11)
+ arm10tdmi (11)
+ arm1136j-s (11)
+ arm1136jf-s (11)
+ arm1156t2-s (11)
+ arm1156t2f-s (11)
+/- arm1176j-s (11,-13)
+ arm1176jz-s (11)
+ arm710t (11)
+ arm720t (11)
+ arm7tdmi (11)
+ arm7tdmi-s (11)
+ arm8 (11)
+ arm810 (11)
+ arm9 (11)
+ arm920 (11)
+ arm920t (11)
+ arm922t (11)
+ arm926ej-s (11)
+ arm940t (11)
+ arm946e-s (11)
+ arm966e-s (11)
+ arm968e-s (11)
+ arm9e (11)
+ arm9tdmi (11)
- armv5 (?)
- armv5te (?)
- armv6 (?)
- armv6t2 (?)
- armv7 (?)
- armv7-a (?)
- armv7ve (?)
+ cortex-a32 (11)
+ cortex-a35 (11)
+ cortex-a53 (11)
+ cortex-a55 (11)
+ cortex-a57 (11)
+ cortex-a710 (14)
+ cortex-a72 (11)
+ cortex-a73 (11)
+ cortex-a75 (11)
+ cortex-a76 (11)
+ cortex-a76ae (11)
+ cortex-a77 (11)
+ cortex-a78 (11)
+ cortex-a78c (12)
+ cortex-m0 (11)
+ cortex-m0plus (11)
+ cortex-m1 (11)
+ cortex-m23 (11)
+ cortex-m3 (11)
+ cortex-m33 (11)
+ cortex-m35p (11)
+ cortex-m4 (11)
+ cortex-m52 (18)
+ cortex-m55 (11)
+ cortex-m85 (15)
+ cortex-m7 (11)
+ cortex-m85 (15)
+ cortex-r4 (11)
+ cortex-r4f (11)
+ cortex-r5 (11)
+ cortex-r52 (11)
+ cortex-r7 (11)
+ cortex-r8 (11)
+ cortex-x1 (11)
+ cortex-x1c (14)
+ cyclone (11)
+ ep9312 (11)
+ exynos-m3 (11)
+ exynos-m4 (11)
+ exynos-m5 (11)
+ generic (11)
- generic-armv7-a (?)
+ iwmmxt (11)
+ krait (11)
+ kryo (11)
+ mpcore (11)
+ mpcorenovfp (11)
+ neoverse-n1 (11)
+ neoverse-n2 (12)
+ neoverse-v1 (12)
+ sc000 (11)
+ sc300 (11)
+ strongarm (11)
+ strongarm110 (11)
+ strongarm1100 (11)
+ strongarm1110 (11)
+ swift (11)

aarch64(11), aarch64_32(11), aarch64_be(11), arm64(11), arm64_32(11):
+ a64fx (11)
+ ampere1 (14)
+ ampere1a (16)
+ ampere1b(18)
+ apple-a10 (11)
+ apple-a11 (11)
+ apple-a12 (11)
+ apple-a13 (11)
+ apple-a14 (12)
+ apple-a15 (16)
+ apple-a16 (16)
+ apple-a17 (18)
+ apple-a7 (11)
+ apple-a8 (11)
+ apple-a9 (11)
+ apple-latest (11)
+ apple-m1 (13)
+ apple-m2 (16)
+ apple-m3 (18)
+ apple-s4 (11)
+ apple-s5 (11)
+ carmel (11)
+ cortex-a34 (11)
+ cortex-a35 (11)
+ cortex-a510 (14)
+ cortex-a520 (18)
+ cortex-a720 (18)
+ cortex-a55 (11)
+ cortex-a65 (11)
+ cortex-a65ae (11)
+ cortex-a710 (14)
+ cortex-a715 (16)
+ cortex-a73 (11)
+ cortex-a75 (11)
+ cortex-a76 (11)
+ cortex-a76ae (11)
+ cortex-a77 (11)
+ cortex-a78 (11)
+ cortex-a78c (12)
+ cortex-r82 (12)
+ cortex-x1 (11)
+ cortex-x1c (14)
+ cortex-x2 (14)
+ cortex-x3 (16)
+ cortex-x4 (18)
+ cyclone (11)
- exynos-m1 (?)
+ exynos-m3 (11)
+ exynos-m4 (11)
+ exynos-m5 (11)
+ falkor (11)
+ generic (11)
+ kryo (11)
+ neoverse-512tvb (14)
+ neoverse-e1 (11)
+ neoverse-n1 (11)
+ neoverse-n2 (12)
+ neoverse-v1 (12)
+ neoverse-v2 (16)
+ saphira (11)
+ thunderx (11)
+ thunderx2t99 (11)
+ thunderx3t110 (11)
+ thunderxt81 (11)
+ thunderxt83 (11)
+ thunderxt88 (11)
+ tsv110 (11)

remaining architectures are listed by 14's base llvm but not in the make.co=
nf
examples at all.

ppc64(11), ppc32(11), ppc64le(11), ppc32le(12):
+ 440 (11)
+ 450 (11)
+ 601 (11)
+ 602 (11)
+ 603 (11)
+ 603e (11)
+ 603ev (11)
+ 604 (11)
+ 604e (11)
+ 620 (11)
+ 7400 (11)
+ 7450 (11)
+ 750 (11)
+ 970 (11)
+ a2 (11)
+/- a2q (11,-12)
+ e500 (11)
+ e500mc (11)
+ e5500 (11)
+ future (11)
+ g3 (11)
+ g4 (11)
+ g4+ (11)
+ g5 (11)
+ generic (11)
+ ppc (11)
+ ppc32 (11)
+ ppc64 (11)
+ ppc64le (11)
+ pwr10 (11)
+ pwr3 (11)
+ pwr4 (11)
+ pwr5 (11)
+ pwr5x (11)
+ pwr6 (11)
+ pwr6x (11)
+ pwr7 (11)
+ pwr8 (11)
+ pwr9 (11)

riscv64(11), riscv32(11):
+ generic (15)
+ generic-rv32 (11)
+ generic-rv64 (11)
+ rocket (16)
+ rocket-rv32 (11)
+ rocket-rv64 (11)
+ sifive-7-series (16)
- sifive-7-rv32 (-16)
- sifive-7-rv64 (-16)
+ sifive-e20 (14)
+ sifive-e21 (14)
+ sifive-e24 (14)
+ sifive-e31 (11)
+ sifive-e34 (14)
+ sifive-e76 (12)
+ sifive-s21 (14)
+ sifive-s51 (14)
+ sifive-s54 (14)
+ sifive-s76 (14)
+ sifive-u54 (11)
+ sifive-u74 (12)
+ sifive-p450 (18)
+ sifive-p670 (18)
+ sifive-x280 (17)
+ syntacore-scr1-base (16)
+ syntacore-scr1-max (16)
+ veyron-v1 (18)
+ xiangshan-nanhu (18)

I threw together a (not so great) script to compare target and cpu differen=
ces
as listed by llvm outputs to take these notes which I can provide if it is
helpful.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-278063-227-tEQD06Oaa4>