/?pid=stop-the-x86-instruction-set-war-7308

Updated:05:47 PM EDT May 20


this is ggmania.com subsite Stop the x86 Instruction Set War - TechAmok

Stop the x86 Instruction Set War - [hardware]
06:51 PM EST - Dec,08 2009 - post a comment

Some smart blogger calls for an open, unified standard for x86 instruction set extensions. Very good reading and definitely link worth checking.
Software programmers may expect the compilers and software libraries to take care of all the intricacies of instruction sets for them. And the obvious way to deal with incompatible instruction sets is to make multiple branches of the code. Ideally, you would have one branch of code optimized for the latest Intel instruction set, another branch for the latest AMD instruction set, and one or more branches for older CPUs with older instruction sets. The software should detect which CPU it is running on and then choose the appropriate version of the code. This is called CPU dispatching. If the compiler can put a CPU dispatching mechanism into your code then you don't have to care about incompatible instruction sets - or do you? The only compiler I have found that has such a feature for automatic CPU dispatching is Intel's compiler. The Intel compiler can put a CPU dispatcher into your code so that it checks which instruction set (SSE, SSE2, SSE3, etc.) is supported by the CPU and chooses a branch of code that is optimized for that instruction set - but only as long as it is running on an Intel CPU! It refuses to choose the optimal branch if the CPU doesn't have the "GenuineIntel" mark, even if the non-Intel CPU if fully compatible with the optimized code. And who would want to sell a software package that works poorly on AMD and VIA processors?

The situation is only slightly better when it comes to software libraries. Most compilers are equipped with libraries of standard functions, or you can use third party libraries. Some of the best optimized software libraries are published by Intel, but again they are optimized for Intel processors, and some of the functions work sub-optimally or not at all on non-Intel processors. AMD also publishes software libraries, and the AMD libraries work well on Intel processors, but of course the AMD libraries don't have a code branch that is optimized for instructions that are only available on Intel processors. There are many other libraries available, but they are typically less optimized and have little or no CPU dispatching. The GNU people are beginning to build a - long overdue - CPU dispatch mechanism into the GNU C library. The GNU library is open source, and of course it must support all x86 CPUs. But this work is done mostly by an Intel guy who has his natural focus on the latest Intel instruction sets and who has so far tested his improvements mainly on Intel processors. The best optimized code branches will work on AMD and VIA processors only with a few years delay when AMD and VIA have copied the Intel instruction sets into their processors. I am not aware of any AMD people contributing the GNU C library.

Of course, a programmer can make his own CPU dispatching, but this is a lot of work. The programmer would have to identify the most critical part of his program and divide it into multiple branches. There is no AMD compiler, so we would have to use assembly code or intrinsic functions to take advantage of AMD-specific instructions. Each branch has to be tested separately on different computers. And the maintenance of the code will be a nightmare. Every change in the code has to be implemented in each branch separately and tested on a separate computer.

The disadvantages of CPU dispatching are clear. It makes the code bigger, and it is so costly in terms of development time and maintenance costs that it is almost never done in a way that adequately optimizes for all brands of CPUs.

Short overview of recent news articles

I Got the Golden GPU from Dubai (May,20 2025 )

Windows 10 emergency update KB5061768 fixes BitLocker boot loops - (May,19 2025 )

2025 AUDI S5 AVANT // 0-100 100-200 TOP SPEED POV & SOUND (May,19 2025 )

Jurassic World Rebirth - Official 'Alert' Teaser Trailer (2025) (May,18 2025 )

F1 25 and F1 The Movie hand in hand (May,18 2025 )

Everyone is Cooling Their PC Wrong (May,17 2025 )

M5 KILLER? Testing the MERCEDES E63S AMG! (May,16 2025 )

Samsung Fully Reveals 5.8mm-Thick Galaxy S25 Edge (May,16 2025 )

Apple Intros New Accessibility Apps, Plus Accessibility "Labels" (May,16 2025 )

Americana - Official Trailer (2025) Sydney Sweeney, Halsey, Simon (May,16 2025 )

Aston Martin x Apple CarPlay Ultra - Next generation of automotive (May,16 2025 )

Google TAG deleted 23,000+ YouTube channels in January, February, (May,15 2025 )

NVIDIA GeForce Game Ready 576.40 WHQL Driver Released (May,14 2025 )

F1 - Official Trailer #2 (2025) Brad Pitt, Damson Idris, Kerry (May,13 2025 )

The Old Guard 2 - Official Trailer (2025) Charlize Theron, KiKi (May,11 2025 )

I think I know why Ryzen 9000 Series CPUs are Dying...(!) (May,11 2025 )

Is Windows Defender good enough in 2025? (May,10 2025 )

AMD Adrenalin 25.5.1 Driver Released for Doom: The Dark Ages (May,09 2025 )

Ripple SEC Grip OVER, XRP Freedom of USE, Market MODE BULL RUN (May,09 2025 )

"Is x86 Actually Screwed?" ft. Wendell of Level1 Techs - (May,08 2025 )

Android's New Design Guidelines Leaked (May,07 2025 )

Grand Theft Auto VI trailer #2 (May,06 2025 )

Microsoft's Dirty Secret: Your Old PC is Now Trash! (May,05 2025 )

No Noise Cancelling? GOOD. Unboxing the nwm One Headphones & First (May,04 2025 )

NEW! 2025 Audi S5 (367hp) | 0-258 km/h acceleration (May,04 2025 )

Bugatti Bolide vs Nurburgring. 1825 HorsePower Insanity (May,02 2025 )

This will be the largest tech Yard Sale EVER! Insanely low prices on (May,01 2025 )

Skoda Kodiaq RS 245 // 0-100 100-200 TOP SPEED POV & SOUND (May,01 2025 )

Disable or Uninstall Windows Recall to Protect Your Data Privacy (May,01 2025 )

A new Alternative to Nextcloud? OpenCloud presented and local (May,01 2025 )

NVIDIA GeForce Hotfix Driver 576.26 Available (Apr,29 2025 )

2025 Porsche 911 992.2 GTS T HYBRID | SOUND 0-100 100-200 200-300 & (Apr,28 2025 )

We Made Perfect Thermal Paste in a Factory, ft. Der8auer | Made In (Apr,28 2025 )

Cyber Security Company CEO Arrested for Installing Malware on (Apr,28 2025 )

This Kid Made his Own Laptop and it's AMAZING! (Apr,27 2025 )

How is this SO CHEAP? - Ubiquiti Cloud Gateway Fiber (Apr,26 2025 )

Ripple president on stablecoins, Trump and tokenization (Apr,26 2025 )

T-Mobile Launches 5G Advanced (Apr,26 2025 )

540HP BMW E46 M3 5.0 V10 // 300KMH REVIEW on AUTOBAHN (Apr,25 2025 )

Has Nvidia Given Up? (Apr,25 2025 )

AMD Software Adrenalin 25.4.1 Beta Drivers Released (Apr,23 2025 )

Stop Paying for Cloud Storage: How I Built My Own Photo Backup (Apr,23 2025 )

Wednesday: Season 2 - Official Teaser Trailer (Apr,23 2025 )

Everything You Need To Know About Windows 10 LTSC (Apr,23 2025 )

Do NOT use Distilled Water for your Water Cooling Loop! (Apr,22 2025 )

Intel Improves 285K Performance with a Big Update (Apr,22 2025 )

FERRARI 812 GTS // REVIEW on AUTOBAHN (Apr,20 2025 )

Meta Disables Apple Intelligence in Facebook and Other Apps (Apr,19 2025 )

Change these Windows Settings for a smarter PC (Apr,19 2025 )

How a malware pdf hacked 4chan (Apr,19 2025 )

>> News Archive <<

TechAmok - Privacy Policy        loading time:0.01secs