We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#include <stdio.h> #include <stdlib.h> int nx[6]; int ny[6]; int nz[6]; int lt; int main() { FILE *fp; fscanf(fp, "%d%d", &nx[lt], &ny[lt]); }
The text was updated successfully, but these errors were encountered:
The first important difference is that AArch64 spills the value of lt.
lt
AArch64:
32B %1:gpr64temp = ADRP target-flags(aarch64-page) @lt, debug-location !30; main.c:14:28 48B %14:gpr64 = LDRSWui killed %1:gpr64temp, target-flags(aarch64-pageoff, aarch64-nc) @lt, debug-location !30 :: (dereferenceable load 4 from @lt); main.c:14:28 56B STRXui %14:gpr64, %stack.1, 0 :: (store 8 into %stack.1)
X86:
32B %1:gr64_nosp = MOVSX64rm32 $rip, 1, $noreg, @lt, $noreg, debug-location !30 :: (dereferenceable load 4 from @lt); main.c:14:28
This introduces maybe the other changes to the register allocator.
fp
nx + lt
x20
ny + lt
x19
nx +lt
r15
rbx
Sorry, something went wrong.
blackgeorge-boom
No branches or pull requests
The text was updated successfully, but these errors were encountered: