OMG ... another one....
Please, at least take the time to supports your blatant tongues with factual data.
did you know, how many PC/Lnux applications run the same binaries on both architectures? almost all.
Yes you can optimize an binary targeting an specific cpu feature exposed by some specific x86 extension, but new x86 extensions are uncommon and mostly very specialized, and actually Intel/AMD exchange their extension specifications in order to keep both architecture compatibles...
Did you knowm Apple developed years ago, an FULL OS/X port to ARM architecture, even they build macbook protypes running on ARM A?? chips (same as on the iPhone), that was expensive, ARM/x86 uses different instruction set, endians etc, and apple do all tat work w/o breaking the bank just to test how feasible is an ARM Mac.
Don't really know what set off your weird rant, i even said that there is alot of binaries that works on both Intel and AMD so i have no idea why, in your rant, you kinda claim i had no idea that binaries are used on various architectures, i even said it, so yeah.
Intel and AMD exchange SOME, not all, extensions, they exchange those that they think would improve the architecture or should be on the feature set of x86, these would be "main" feature sets. But as i said there is millions (yes millions, no idea why you underline and made it bold) of instructions that is specific for vendor, for model, for generation and even for stepping (fixed hardware bugs), those are not shared between AMD and Intel. And as i said in my previous post, even though they share documented instructions for x86 they execute them differently and create their hardware differently.
For instance, Intel and AMD, even though its the same instruction, they can have different handling of NULL selectors on some instructions, to make your code binary compatible you have to know this and handle this "issue" so your code will end up binary compatible on both AMD and Intel.
AMD and Intel can handle selectors differently too which would make them binary incompatible if not handled properly.
Not that long ago Intel had that TSX bug that the media world made a huge fuss about for some years ago that only affected some CPU:s and, they had to turn of that feature in an update and if i remember correctly they even fixed it in some CPU models which means not even the same Intel models are 100% binary compatible, 1 stepping is not compatible with another stepping of the same CPU model when it comes to that TSX bug.
There are bugs in some AMD CPU:s, there is bugs in some Intel CPU:s, they execute instructions differently, they have different instruction sets, they have undocumented instructions (those are not uncommon to be added, some even added or removed on a cpu by cpu basis) etc etc etc.
Most stuff is binary compatible when it comes to x86, but as a developer you CAN run into binary incompatibles and then it is up to the developer to make them binary compatible, your Linux example for instance, they are binary compatible because the developers MADE them binary compatible, not because x86 by design is binary compatible.
And yes, everything i have written has been 100% facts, not "blatant tongues" as you proclaim.
Your last paragraph is absurd, this IS common knowledge, everyone knows this and yet you pump up your chest and exclaim it like you are the special chosen one to know it and tell the world about it.