8 ms·
Sure, but that limits what code you can use. A lot of consumer software won't work without the SSE extensions, for example.
by trenchpilgrim 1y ago
Sure, but that limits what code you can use. A lot of consumer software won't work without the SSE extensions, for example.
- jacquesm 1y agoYou'd expect some kind of fall-back in place for older CPUs, no?
- trenchpilgrim 1y agoNo, often any fallback would be unusuably slow anyway.
- gary_0 1y agoSome of SSE is required as part of the x86_64 ABI, and also new versions of Windows (infamously, now) add required CPU extensions so software will often base its requirements on that. And SSE4x is ubiquitous enough (99% of PCs) that some software/games will just require it and simply crash if it can't use those instructions.
- wmf 1y agoIt looks like many Linux distros require x86-64-v2 from 2008 and they're preparing to move to v3 from 2013. At this rate they'll never support a level with expired patents. https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels https://en.wikipedia.org/wiki/X86-64#Microarchitecture_level...
- crote 1y agoConsidering there are no meaningful patent-free x86 CPUs in the wild, why should they? It's just the default optimization level for those distros. If patent-free x86 CPUs become relevant, compiling another set of binaries would be trivial. Until then it doesn't make any sense to kneecap the >99% of x86 deployments by deliberately refusing to use faster and more efficient instructions.
- jacquesm 1y ago> Considering there are no meaningful patent-free x86 CPUs in the wild, why should they? Open core; no ME.
- wmf 1y agoThat's a fair point. I guess a bigger problem is that a patent-free x86 processor couldn't run any supported version of Windows.
- jacquesm 1y agoThat's the last thing I would want to do.
- Qem 1y agoSSE2 was released circa 2000[1]. Assuming a patent lasts for 20 years, it should be expired for several years now. [1] https://en.wikipedia.org/wiki/SSE2 https://en.wikipedia.org/wiki/SSE2
- trenchpilgrim 1y agoThere are further versions of SSE (SSE4 is pretty much a hard requirement on Windows) and a follow-on series, AVX. AVX-512 is from 2016 and AVX10 is from 2023.
- Qem 1y agoThat makes me wonder if all those vector extensions pilling on top of each other were really that necessary, or if they are mostly a means of keep churning out patents to delay expiration. Is it possible to just improve the original SSE extensions in a logical backward compatible way? Similar to what AMD did to x86, widening it to x86-64, dooming Intel efforts to push the incompatible Itanium architecture?
- trenchpilgrim 1y agoNo, the newer extensions are different opcodes. It's like extending an API, you can't change old function signatures, you have to add new ones. The new ones are legitimately useful, most video games and media production software use them a lot.
- dzaima 1y agoSSE3+ & AVX{,2,-512} & co improve on SSE in pretty much the same way that x86-64 improves on x86 - the old thing still works just fine, but the new one is wider, adds new (very useful!) instructions, doesn't copy over others, and (at least partly) uses different encodings. And an important thing to remember is that there is and never as a single "x86" before x86-64; both Intel and AMD added new instructions as was seen useful in new generations. AVX & co just continue the pattern that's been going on for four decades.
- crote 1y ago
- speed_spread 1y agoLegally, could a CPU manufacturer implement the unencumbered ISA in hardware and have a separate corporate entity provide a low-level software compatibility trap for the missing instructions? The CPU could even have functional equivalent (but ISA-incompatible) instructions to make it almost as fast. Kind of like third-party microcode?
- dogma1138 1y agoIn theory yes, the problem is that even x86 emulation in hardware in order to run x86 code natively without recompiling can drag you into a legal mess which any western company will avoid. NVIDIA got pinched for this over a decade ago. I’m not entirely sure how Qualcomm and Apple didn’t. But overall the more you try to make an x86 enabled alternative viable the more likely you’ll get served with papers and even if you’ll win it would take a decade and cost 100’s of millions to fight.