We need additional information from Dirk Mueller
We need to provide x86_64-v2 enabled libraries of important base system gcc/glibc/many
Nice description about how this is done in RHEL could be find here https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level
Metadata Update from @lkocman: - Issue assigned to lkocman
Metadata Update from @Pharaoh_Atem: - Custom field SUSE Jira adjusted to https://jira.suse.com/browse/OPENSUSE-36 - Issue tagged with: SLE, SLE-Accept-Pending
To use hwcaps we need update for glibc from v. 2.31 to 2.33 or newer. I created this bug for feature request: https://bugzilla.opensuse.org/show_bug.cgi?id=1194122
ILL Leap 15.4 will use glibc 2.31 without upgrade. So, feature can go for Leap 15.5.
Please use x86-64-v3 level for software (close to Haswell: AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE). With x86-64-v3 we can get about 20% speed-up (and about 0% - 5% with x86-64-v2 (close to Nehalem: CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) according to this research: https://openbenchmarking.org/result/2103142-HA-UARCHLEVE55
Info about feature levels: https://www.phoronix.com/scan.php?page=news_item&px=GCC-11-x86-64-Feature-Levels
Another option is in adding SSE3 or {CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3}: https://code.opensuse.org/leap/features/issue/79
My not yet 6 years old (14nm Q1'17) Kaby Lake Pentium IDs as only v2 as of TW 20220919: -# /lib64/ld-linux-x86-64.so.2 --help | tail -n17 This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
Shared library search path: (libraries located via /etc/ld.so.cache) /lib64 (system search path) /usr/lib64 (system search path)
Subdirectories of glibc-hwcaps directories, in priority order: x86-64-v4 x86-64-v3 x86-64-v2 (supported, searched)
Legacy HWCAP subdirectories under library search path directories: x86_64 (AT_PLATFORM; supported, searched) tls (supported, searched) a v x 512_1 x86_64 (supported, searched) -# lscpu # trimmed Architecture: x86_64 On-line CPU(s) list: 0-3 Model name: Intel(R) Pentium(R) CPU G4600 @ 3.60GHz CPU family: 6 Model: 158 Stepping: 9 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust smep erms invpcid mpx rdseed smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
Leap 16.0 is built on top of SUSE ALP, which has x86_64-v2 macros + v3 over hwcaps. Leap 16.0 is already using it as well https://build.opensuse.org/project/show/openSUSE:Leap:16.0
Metadata Update from @lkocman: - Issue close_status updated to: Completed - Issue status updated to: Closed (was: Open)
Metadata Update from @lkocman: - Issue set to the milestone: 16.0
Login to comment on this ticket.