4 ms·
Afaik, Debian runs on the 386? And I think that came out in the 80s? So all new CPU instructions of the last 40 years are pretty much used by nobody?
by TekMol 3y ago
Afaik, Debian runs on the 386? And I think that came out in the 80s?
So all new CPU instructions of the last 40 years are pretty much used by nobody?
- stephen_g 3y agoNo, according to this [1], Debian's i386 architecture dropped support for the 386 and 486 in versions Sarge and Squeeze respectively. Pretty amazing that it did work on the first Pentium (released 1993!) up to 2018. In Debian version after Jessie the Pentium (i586) has been dropped too [2]. Of course, I don't think many people are using i386 builds anymore - most people would have switched to the more modern x86_64 long ago. 1. https://www.debian.org/releases/jessie/i386/ch02s01.html.en https://www.debian.org/releases/jessie/i386/ch02s01.html.en 2. https://www.debian.org/releases/stretch/i386/ch02s01.html.en https://www.debian.org/releases/stretch/i386/ch02s01.html.en
- Arnt 3y agoThe new instructions are used often or seldom depending on whether you count invocations or occurences. There are new instructions that can be used to write a constant-time SHA-256 hash function. A program that contains megabytes of code, more than a million instructions, may reasonably contain only a few of those instructions, because it contains only one or two small hash functions. The instructions are important and effective, but occur only a handful of times among a million instructions.
- pjc50 3y agoThe dirty secret is: yes, many of the new instructions aren't used very often. They only come into play in certain cases: encryption, signal processing, CPU graphics (e.g. paint packages), video/jpeg decoding (when not done on GPU) and so on, most of which are packaged inside libraries which may or may not have multi-CPU implementations.
- rerdavies 3y agoI think the default configuration for GCC x64 is SSE 4.0 instructions enabled, AVX2 instructions enabled, AVX512 and SSE 4.2 disabled. And I think MSVC defaults to processors of a roughly similar age (10 to 15 years old). So instructions in the 40-to-15 year old range get used a lot. If you're running software that's heavily math intensive, or ever gets benchmarked, it's a fairly good bet that they will have either conditionally-installed or conditional-executed code that targets more modern processors.
- Denvercoder9 3y agoThe baseline amd64 System V ABI, which is what Debian targets, only includes SSE and SSE2; not SSE3, SSE4 or AVX2.
- msla 3y agoThe Linux kernel dropped support for the original 80386 in December 2012, with kernel 3.8 Debian dropped support with sarge in 2005 https://en.wikipedia.org/wiki/I386 https://en.wikipedia.org/wiki/I386