Date: Fri, 05 Apr 2024 01:43:21 +0000 From: bugzilla-noreply@freebsd.org To: doc@FreeBSD.org Subject: [Bug 278063] Add znver4 to 14-STABLE examples Message-ID: <bug-278063-9-0lA0QOIT1e@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-278063-9@https.bugs.freebsd.org/bugzilla/> References: <bug-278063-9@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 on the CC list for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-278063-9-0lA0QOIT1e>