You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Oh, interesting, looks like mov x, #0 is also better than mov x, xzr on Apple, e.g.: https://godbolt.org/z/6rh4rn5G3 since mov x, xzr is not handled via renaming on Apple.
The reverse engineering document (https://dougallj.github.io/applecpu/firestorm.html) does not indicate that M1 recognizes
eor v0,v0,v0
as a zeroing idiom (like an x64 CPU would). Instead, there is themovi
instruction (https://developer.arm.com/documentation/dui0801/l/A64-SIMD-Vector-Instructions/MOVI--vector---A64-?lang=en) that can initialize all lanes of a SIMD vector. Dougall Johnson's document shows that for zero, this is internally resolved with register renaming.Also use this for
OP_XONES
.The text was updated successfully, but these errors were encountered: