[Bug 278063] Add znver4 to 14-STABLE examples
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 278063] Add znver4 to 14-STABLE examples"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 05 Apr 2024 01:43:21 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278063 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 this 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 alphabetically sorted and undescribed. `clang -mcpu=?` and `clang -mtune=?` fail to return 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 different 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, release 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 for CPUTYPE is intended to match the base compiler. As an interesting note, `clang -print-targets` says x86-64 is the target, but `clang --target=x86-64-unknown-freebsd14.0 --print-supported-cpus` fails until changed to 'x86_64'; this is true of -print-targets output from 11 to -devel. Similarly, `clang --target=x86 --print-supported-cpus` has no supported targets while '--target=x86_64' does. If there is no compatible targets, the output 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 specific, 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 (<=10) + 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 line): + 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.conf 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 differences as listed by llvm outputs to take these notes which I can provide if it is helpful. -- You are receiving this mail because: You are the assignee for the bug.