Looking forward to the next installment. The value of the Arm partnership really can’t be overstated. The agreement requires that all members review any proposal for inclusion in the architecture for patent infringement and, if it infringes any of their patents, either disclose it or grant every other partner a license for use in compliant Arm implementations. This means that any implementer has access to a massive patent portfolio.
Some of the partnerships in this article very nearly set Arm up for failure. Fragmentation killed MIPS and almost killed Arm. For a time, there were three incompatible floating-point extensions on Arm (there were more on MIPS), which meant that everyone who cared about binary compatibility ended up using a soft-float ABI. This didn’t matter in the ‘90s because companies like Nokia compiled everything for a specific phone SoC, but it mattered once third-party application ecosystems started to emerge. It’s unclear whether it still matters: Apple requires developers to upload LLVM IR to the app store now, so they can easily compile different versions of apps for different hardware features (as the did for PAC, for example).
Apple only required Bitcode for Watch. But even on that it’s gone this year. If you try to submit a bitcode app today, App Store Connect just refuses and tells you to re-upload as a regular binary.