Commit 3e0ec4cd authored by Henrik Gramner's avatar Henrik Gramner

build: Enable SSE2 by default on x86-32

parent 75558f8b
Pipeline #7096 passed with stages
in 9 minutes and 40 seconds
......@@ -180,7 +180,8 @@ endif
# Compiler flags that should be set
# But when the compiler does not supports them
# it is not an error and silently tolerated
optional_arguments += [
if cc.get_id() != 'msvc'
optional_arguments += [
......@@ -188,8 +189,14 @@ optional_arguments += [
if cc.get_id() == 'msvc'
if host_machine.cpu_family() == 'x86'
optional_arguments += [
optional_arguments += [
'-wd4028', # parameter different from declaration
'-wd4996' # use of POSIX functions
  • Where is the rationale documented? x86 target on FreeBSD, NetBSD and OpenBSD doesn't have SSE2 enabled by default. Forcing SSE2 may lead to a crash on a subset of CPUs supported on those platforms.

    CC @brad

  • If you don't have SSE2 in your CPU, you should just disable all assembly, I believe.

    If your CPU does not have SSE2, you will not be able to decode AV1, I believe. Your CPU is from many years ago and won't be able to run fast enough, even for very small resolutions.

  • It improves performance by a decent amount. SSE2 was introduced with the Pentium 4 in 2000, nobody is going to do AV1 decoding on a 20 year old Pentium III. shows that 100.00% of users have SSE2 fwiw.

  • As it is OpenBSD cannot enable assembly due to register pressure and this is becoming more common with other OS's. So it's a moot point.

  • Poor register allocation behavior of the compiler only impacts inline assembly, which we do not use outside of tests, so I don't see how that is relevant.

    Edited by Henrik Gramner
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment