ci/zinc/linux_test.sh | 5 +- src/arch/aarch64/CodeGen.zig | 1114 +++++++++++++++++++++++++------- src/arch/aarch64/Emit.zig | 187 ++++-- src/arch/aarch64/Mir.zig | 65 +- src/arch/aarch64/bits.zig | 181 ++++-- test/behavior.zig | 2 +- test/behavior/align.zig | 18 + test/behavior/alignof.zig | 1 + test/behavior/array.zig | 27 + test/behavior/basic.zig | 32 + test/behavior/bit_shifting.zig | 1 + test/behavior/bugs/1381.zig | 1 + test/behavior/bugs/1486.zig | 2 + test/behavior/bugs/1735.zig | 1 + test/behavior/bugs/1741.zig | 1 + test/behavior/bugs/2006.zig | 1 + test/behavior/bugs/2578.zig | 1 + test/behavior/bugs/3007.zig | 1 + test/behavior/bugs/3112.zig | 1 + test/behavior/bugs/3367.zig | 1 + test/behavior/bugs/394.zig | 1 + test/behavior/bugs/656.zig | 1 + test/behavior/bugs/7250.zig | 1 + test/behavior/cast.zig | 36 ++ test/behavior/fn_delegation.zig | 1 + test/behavior/ir_block_deps.zig | 1 + test/behavior/optional.zig | 10 + test/behavior/reflection.zig | 1 + test/behavior/slice.zig | 14 + test/behavior/struct.zig | 28 + test/behavior/truncate.zig | 9 + test/behavior/var_args.zig | 3 + test/stage2/aarch64.zig | 87 ++- 33 files changed, 1477 insertions(+), 359 deletions(-)