Hacker News new | ask | show | jobs
by Kirby64 2312 days ago
Similar to how many big names change standards: if you take a look at the instruction sets used, the Apple A13 processors seem to implement a newer instruction set than even what Qualcomm is using.

A13 Bionic uses ARMv8.3-A. Qualcomm 865 (which is newer than A13) uses ARMv8.2-A.

My guess is they influenced the spec to add feature deltas from v8.2->8.3 into the spec. Sure, it's not non-standard, but it seems like most vendors pick and choose what instructions to implement from each ARM spec.

What that means is the compiler for each processor needs to effectively be specific to that processor. If it's not, you might not be totally optimized.

1 comments

Those versions literally mean that they're part of the spec. That other companies are shipping out of date ARM specs doesn't mean apple has magic proprietary instructions. Hell, IIRC the first we heard about the new ARM8.3 instructions was a Qualcomm white paper.

Anyway, this is no different from targeting x86_64 - you can compile targeting the most recent ISA, or you can run on more hardware. No one says AVX2 is a proprietary extension, but it sure as heck won't work on an older x86_64 cpu.

Alright, you're right - it is part of the spec. Non-standard is the wrong terminology. My point being though, Apple tends to be ahead of others in terms of adopting (for better or for worse) new standards, and their influence in the market can sometimes make those changes happen at a spec level (i.e. tell ARM they want a new instruction, and magically it'll be in the spec).

The original comment's point is this would be good for the RPi org... which use comparatively ancient ARM processors (even the brand new RPi4). I don't see how Apple entering the ARM space on desktop is relevant at all.

oh yeah, i don't see how it impacts RPi at all.

RPi benefits from general adoption of ARM in performance markets, as low performance ARMs benefit from general improvements in compiler ARM backends.