Hacker News new | past | comments | ask | show | jobs | submit login

Which compiler would be required for this (https://github.com/corsix/amx/blob/main/aarch64.h)?

I understand the limitation is not at the OS side, as nothing can be done there, but at the compiler-side (I mean that the Apple-supplied compiler doesn't compile against the AMX instruction set, so you'd need a compatible one that, I understand, doesn't exist).

Or is it just undocumented and you can actually get it to work with a Standard xcode and macOS installation given the headers provided?




This header works with standard Xcode/macOS, by taking advantage of inline assembly in a slightly-cursed way (turning register names into numbers and encoding the instruction itself).


Slightly cursed is how I roll. I would like to know where the trick first originated from though (I found it at https://github.com/yvt/amx-rs/blob/main/src/nativeops.rs#L22 rather than inventing it de novo)


This happens often in the Linux kernel to continue to support older assemblers for newer instruction set extensions.

The x86 retbleed mitigation uses .inst to trick the hardware instruction decoder...different instructions are encoded/run than what is speculatively decoded.


Compilers wouldn’t target it. You’d get to it via https://developer.apple.com/documentation/accelerate




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: