Live data from Hacker News

Undocumented arm64 ISA extension present on the Apple M1

gist.github.com

41–50 of 202 posts

Re: Undocumented arm64 ISA extension present on the Apple M1

#41
post #35
post #7

Earlier quoted context omitted.

In the bigger picture Apple aren't really documenting anything for their new toys, which is not the end of the world but is a huge step back for openness. There is - as far as I can see - no long-form documentation for M1 other than patents. I already refuse to own apple products so I don't really have any skin in the game, but consider that if microsoft were like this the blind eye would not be turned - buy our new…

> Apple aren't really documenting anything for their new toys This seems an odd strategy for an accelerator. How are they expecting that people will use these new instructions? Only through Apple-supplied closed source compilers and libraries? (This is not meant to indicate you're wrong, only I'm confused about Apple's strategy)

Apple provides libraries that developers are supposed to use (e.g. "Accelerate").

Apple does not provide any support for using directly their undocumented ISA extensions, or their undocumented GPU, NPU etc.

Re: Undocumented arm64 ISA extension present on the Apple M1

#42
post #36

Earlier quoted context omitted.

Could those opcodes then be used for anything nefarious, or would it just restrict third parties from fully utilizing the processor?

If you think Apple wants to do something nefarious to users of their hardware, don’t buy or use it. If they can’t be trusted, they don’t need to add opcodes.

Well the point of the question is trying to establish if it’s even possible in the first place. If there is no credible way, then there is no need to fear there are nefarious reasons for implementing such a change for either Apple or Microsoft, outside of restricting third parties. If there is, then it’s as you say.

Re: Undocumented arm64 ISA extension present on the Apple M1

#43
post #14
post #12

Earlier quoted context omitted.

The Russian CPU isn't surviving in a market

I exist there for I am?

They key word is market - The Elbrus is obviously propped up by the Russian government and it's tentacles. It's not an invalid business model but it's not a good way to measure technology.

Re: Undocumented arm64 ISA extension present on the Apple M1

#44
post #35
post #7

Earlier quoted context omitted.

In the bigger picture Apple aren't really documenting anything for their new toys, which is not the end of the world but is a huge step back for openness. There is - as far as I can see - no long-form documentation for M1 other than patents. I already refuse to own apple products so I don't really have any skin in the game, but consider that if microsoft were like this the blind eye would not be turned - buy our new…

> Apple aren't really documenting anything for their new toys This seems an odd strategy for an accelerator. How are they expecting that people will use these new instructions? Only through Apple-supplied closed source compilers and libraries? (This is not meant to indicate you're wrong, only I'm confused about Apple's strategy)

They aren't even documenting the microarchitecture of the CPU either.

Re: Undocumented arm64 ISA extension present on the Apple M1

#45
post #37

Earlier quoted context omitted.

On the other hand, Apple released their 64-bit ARM backend for LLVM[1] in 2014. They announced their intention do so almost immediately after the first ARM64 phone, but the process took several months because it had to be merged with a duplicate backend developed by others. I think it is likely that support for these instructions will be upstreamed to LLVM, and the teams involved in this monumental transition (which…

AMX was first announced for the A13 [1], so it's been in the wild for over a year now. 1: https://www.anandtech.com/show/14859/apple-announces-new-iph...

And Apple M1 implements AMX2, not the original AMX in the A13.

I'm not sure if Apple plans to ever maintain AMX compatibility across CPU versions...

Re: Undocumented arm64 ISA extension present on the Apple M1

#46
post #38
post #35

Earlier quoted context omitted.

> Apple aren't really documenting anything for their new toys This seems an odd strategy for an accelerator. How are they expecting that people will use these new instructions? Only through Apple-supplied closed source compilers and libraries? (This is not meant to indicate you're wrong, only I'm confused about Apple's strategy)

> How are they expecting that people will use these new instructions? Only through Apple-supplied closed source compilers and libraries? This sounds right. Forcing people to use Apple supplied and supported libraries allows Apple to make major changes in hardware without breaking compatibility (there are always edge cases, though).

If the compiler generates these instructions, won't old binaries break if Apple later make changes in the hardware? (For shared libraries it would be "ok" because the old binary could use the new library, as long as Apple didn't also break the ABI).

Re: Undocumented arm64 ISA extension present on the Apple M1

#47
post #27

After four different CPU ISA's (68000, powerpc, x86, ARM) an Apple ISA is next.

From a third-party developer's perspective the ISA will be Swift. The actual CPU ISA will be a closely guarded trade secret. It will, however, run Swift code 2-3x faster (on a single-core basis) than any commercially available commodity CPU -- especially since Apple pays silicon fabs to not manufacture 3nm hypercubic gallium-arsenide ICs or whatever the cutting edge is on behalf of competitors.

I assume this is satire.

Re: Undocumented arm64 ISA extension present on the Apple M1

#48

Earlier quoted context omitted.

The implication I assume that there would be pushback on Microsoft for doing the same would be because of the possibility of nefarious undocumented changes. What possibly nefarious things could an undocumented ISA extension do?

Apple can make tools that use the undocumented ISA, which they don't have to release to the public, potentially using it to develop applications with performance advantages that no one other than Apple can attain. It's similar to how Microsoft doesn't make all APIs on Windows public and uses non-public ones for various reasons--except this is in hardware. It's possible the undocumented ISA is used to speed up x86 emu…

> Apple can make tools that use the undocumented ISA, which they don't have to release to the public, potentially using it to develop applications with performance advantages that no one other than Apple can attain.

Why would they? They sell hardware, not really software.

Re: Undocumented arm64 ISA extension present on the Apple M1

#49
post #14
post #12

Earlier quoted context omitted.

The Russian CPU isn't surviving in a market

I exist there for I am?

It's not surviving in a market, because it's not in a market - it's being produced for a specific consumer, whose requirements are idiosyncratic enough[0] that the market refuses to service them.

0: a very low bar in this case, given the existence of things like Intel Management Engine, but it would be much the same if they insisted on something less justifiable like running all the CPU pins at 12-volt logic levels

Re: Undocumented arm64 ISA extension present on the Apple M1

#50
post #27

After four different CPU ISA's (68000, powerpc, x86, ARM) an Apple ISA is next.

From a third-party developer's perspective the ISA will be Swift. The actual CPU ISA will be a closely guarded trade secret. It will, however, run Swift code 2-3x faster (on a single-core basis) than any commercially available commodity CPU -- especially since Apple pays silicon fabs to not manufacture 3nm hypercubic gallium-arsenide ICs or whatever the cutting edge is on behalf of competitors.

:) reminds me of https://www.destroyallsoftware.com/talks/the-birth-and-death...
Post reply on HN