WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: [Solved] x86_64 what of these SSE settings do I need to compile support for?  (Read 517 times)

Offline aus9

  • Jr. Member
  • **
  • Posts: 85
I am starting to compile a new TCE and its cmake offers these by default
SSE SSE2 SSE3 SSE4

I know how to turn any off.....but which ones to enable and which disable  please?

I am on TC64 also known as x86_64
« Last Edit: December 31, 2025, 08:53:48 AM by Rich »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12450
Re: x86_64 what of these SSE settings do I need to compile support for please?
« Reply #1 on: December 30, 2025, 11:13:56 PM »
Hi aus9
Here are some specs of 3 64 bit capable machines I have.

Code: [Select]
description: Mini Tower Computer
product: Dell DV051
vendor: Dell Inc.
date: 04/04/2006
description: CPU
product: Intel(R) Pentium(R) 4 CPU 2.80GHz
capabilities: boot fpu fpu_exception wp 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 x86-64 constant_tsc pebs bts cpuid
              pni dtes64 monitor ds_cpl cid cx16 xtpr lahf_lm cpufreq
lshw says this supports sse sse2.    sudo inxi -Cxxx says this supports sse sse2 sse3.

Code: [Select]
description: Notebook
product: VGN-FZ240E (N/A)
vendor: Sony Corporation
date: 07/04/2007
description: CPU
product: Intel(R) Core(TM)2 Duo CPU     T7250  @ 2.00GHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
              clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx x86-64 constant_tsc arch_perfmon
              pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16
              xtpr pdcm lahf_lm pti tpr_shadow flexpriority vpid dtherm ida vnmi cpufreq
lshw says this supports sse sse2 ssse3.    sudo inxi -Cxxx says this supports sse sse2 sse3 ssse3.

Code: [Select]
description: Notebook
product: HP G62 Notebook PC (XZ259UA#ABA)
vendor: Hewlett-Packard
date: 04/07/2011
description: CPU
product: AMD Turion(tm) II P540 Dual-Core Processor
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
              clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp x86-64 3dnowext 3dnow
              constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm
              cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
              nodeid_msr hw_pstate vmmcall npt lbrv svm_lock nrip_save cpufreq
lshw says this supports sse sse2 sse4a.    sudo inxi -Cxxx says this supports sse sse2 sse3 sse4a.

Base on that, I would think sse and sse2 would be appropriate for
maximum compatibility. But that's just my opinion.

I suggest you wait for Juanito and maybe some other members to weigh in.

    [Edit]: Added reported sse results from inxi.  Rich
« Last Edit: December 31, 2025, 10:42:35 AM by Rich »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 15411
Re: x86_64 what of these SSE settings do I need to compile support for please?
« Reply #2 on: December 31, 2025, 04:14:56 AM »
Up until now, I've always accepted the default and nobody has complained of a problem.

I suspect that, taking your case of SSE SSE2 SSE3 SSE4 as an example, if SSE4 is not supported the application will not hang, but I may be mistaken.

Offline aus9

  • Jr. Member
  • **
  • Posts: 85
Re: x86_64 what of these SSE settings do I need to compile support for please?
« Reply #3 on: December 31, 2025, 05:39:58 AM »
thanks I have submitted fluidsynth which was not the TCE above. That way if I fail to compile this other TCE
no-one will be any wiser ;)

As Rich showed his specs here are mine
Code: [Select]
inxi -Cxxx
CPU:
  Info: 6-core model: AMD Ryzen 5 5600G with Radeon Graphics bits: 64
    type: MT MCP smt: enabled arch: Zen 3 rev: 0 cache: L1: 384 KiB L2: 3 MiB
    L3: 16 MiB
  Speed (MHz): avg: 400 min/max: 400/4464 boost: enabled cores: 1: 400
    2: 400 3: 400 4: 400 5: 400 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400
    12: 400 bogomips: 93465
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a
    ssse3 svm

@Rich
please mark as solved please
« Last Edit: December 31, 2025, 05:42:44 AM by aus9 »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12450
Hi aus9
The original tests in my reply were run using lshw. After your latest
post, I reran my machines using inxi and added those sse results
to my post.

... Base on that, I would think sse and sse2 would be appropriate for
maximum compatibility. But that's just my opinion. ...
Based on the inxi results, I'm going to change my opinion to sse, sse2, and sse3.

... @Rich
please mark as solved please
Done. :)

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12450
Hi aus9
I also figured out why lshw did not report sse3 for any of my machines.
lshw looks at /proc/cpuinfo which did not list sse3. It did list  pni  for
all 3 machines which is defined as:
Quote
PNI - Prescott New Instruction. This was the codename for SSE3 before it was released
on the Intel Prescott processor (which was later added to the Pentium 4 family name).
Found here (inxi site):
https://smxi.org/docs/inxi-cpu-flags.htm

Apparently, inxi decodes and translates that flag into something recognizable.

Offline aus9

  • Jr. Member
  • **
  • Posts: 85
I love inxi. If interested here is the man page
https://smxi.org/docs/inxi-man.htm

but
Code: [Select]
inxi -h would suffice for most end users like me

Offline CNK

  • Wiki Author
  • Sr. Member
  • *****
  • Posts: 406
This appears to be the same thing as with distros dropping support for x86_64-v1. the OpenSUSE distro describes the differences between v1 and v2.

For x86_64 AKA x86_64-v1:
Quote
CPU features: CMOV, CMPXCHG8B (CX8), FPU, FXSR, MMX, OSFXSR, SCE, SSE, SSE2.
Quote
X86-64-v2 adds these CPU features: CMPXCHG16B (CX16), LAHF-SAHF, POPCNT, SSE3, SSSE3, SSE4_1, SSE4_2.

So based on that info, if SSE3 or later are required, it requires a x86_64-v2 or later CPU (which I suggest should be noted in the extension's info file). SSE2 should work on all x86_64 CPUs.

Offline nick65go

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 947
CachyOS (Archlinux based) tests on Phoronix, shows little performance departing from V1 to V2. Significant performance from V1 to V3 (10%-20%) and greater from V1 to V4. (V4 needs AVX5-10 cpu instructions). My CPU is V3 (x86_64-v3). For me Kernel-6.18.2 + Firefox_148 + latest MESA + FFMPEG are the main important pieces for continuously speed. Most others apps gained speed but for short time using them, so it is mostly comfort.

But in TC we talk about compatibility. not about speed/performance.

Happy new year to all TC users!

Offline aus9

  • Jr. Member
  • **
  • Posts: 85
@CNK
I did not know that. I built a TCE based on reply 2. Luckily no-one can use my product until a game lands....as very few people play games on TC64 16x.  Even fewer people have Xorg 2d 3d or vulkan or (wayland) woodland or labwc desktops to play my intended game.

I re-compiled to support only SSE SSE2 and my local game plays as expected
Thanks for the heads up