src/arch/aarch64/CodeGen.zig | 294 +++++++++++++++++++++++--------- src/arch/aarch64/Emit.zig | 27 ++- src/arch/aarch64/Mir.zig | 21 ++- src/arch/aarch64/bits.zig | 82 +++++++-- test/behavior/align.zig | 1 - test/behavior/array.zig | 2 - test/behavior/bitcast.zig | 10 -- test/behavior/bugs/3367.zig | 1 - test/behavior/bugs/3586.zig | 2 - test/behavior/bugs/704.zig | 2 - test/behavior/cast.zig | 2 - test/behavior/defer.zig | 4 - test/behavior/enum.zig | 40 ----- test/behavior/error.zig | 13 -- test/behavior/floatop.zig | 2 - test/behavior/fn.zig | 20 --- test/behavior/for.zig | 6 - test/behavior/generics.zig | 9 - test/behavior/if.zig | 8 - test/behavior/inttoptr.zig | 1 - test/behavior/math.zig | 2 - test/behavior/null.zig | 2 - test/behavior/slice.zig | 2 - test/behavior/struct.zig | 3 - test/behavior/switch.zig | 4 - test/behavior/this.zig | 2 - test/behavior/truncate.zig | 16 -- test/behavior/try.zig | 4 - test/behavior/usingnamespace.zig | 8 - test/behavior/while.zig | 2 - 30 files changed, 330 insertions(+), 262 deletions(-)