Project

General

Profile

Actions

Feature #5859

open

remove non-neon and non-sse support

Added by Hoernchen about 1 year ago. Updated about 1 year ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
01/16/2023
Due date:
% Done:

0%

Spec Reference:

Description

As oliver noticed the builders were apparently broken an no one noticed it for quite some time: https://osmocom.org/issues/5848#note-2

I propose dropping support for sse3-less and neon-less targets.

  • Sse3-less means some old embedded x86 cpu like the amd geode series that existed until ~ 2006, so definitely older than ~2010.
  • neon-less arm means anything predating the first cortex a8 chips, so a ~ 2006 level. The only maybe still existing arm devies without neon are the raspi 1 and the old raspi zero.

I am having a hard time imagining how trying to run a low latency application and cramming 10 threads into one single ancient sub-1ghz cpu core would work out in practice, even using the 1sps mode which no one has been using for years either...

The lowest power cpu running actual osmotrx is probably a fairwaves umsite or something like that, but even the first atom cpus intel ever produced support at least sse3.

Arguably even dropping sse4.1-less support would be reasonable, this would affect pre-2011 amd embedded fusion cpus and pre-2014 intel atom cpus.

The current manual feature suport selection ensures inlining can never happen, and considering our bursts have a tiny or even slightly less tiny size this is rather bad, there should be target or cpu specific builds anyway. The old intel atom in particular needs special compiler flags because the pipeline is so bad so generic builds are a really bad idea anyway.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)