lib/std/start.zig | 2 +- lib/test_runner.zig | 17 +- src/Sema.zig | 9 +- src/arch/x86_64/CodeGen.zig | 1736 ++++++++++++++++++++------------ src/arch/x86_64/Encoding.zig | 27 +- src/arch/x86_64/Lower.zig | 6 + src/arch/x86_64/Mir.zig | 12 + src/arch/x86_64/encoder.zig | 2 +- src/arch/x86_64/encodings.zig | 14 + src/codegen.zig | 157 ++- src/link.zig | 4 +- src/link/Coff.zig | 111 +- src/link/Elf.zig | 107 +- src/link/MachO.zig | 109 +- src/print_air.zig | 12 +- test/behavior/align.zig | 5 - test/behavior/atomics.zig | 1 - test/behavior/basic.zig | 12 +- test/behavior/bugs/13069.zig | 2 + test/behavior/cast.zig | 7 +- test/behavior/enum.zig | 7 +- test/behavior/eval.zig | 2 + test/behavior/floatop.zig | 13 +- test/behavior/fn.zig | 4 + test/behavior/generics.zig | 4 + test/behavior/inline_switch.zig | 1 - test/behavior/math.zig | 4 +- test/behavior/maximum_minimum.zig | 4 + test/behavior/memset.zig | 4 +- test/behavior/pointers.zig | 5 +- test/behavior/struct.zig | 3 +- test/behavior/switch.zig | 6 +- test/behavior/type.zig | 2 - test/behavior/union.zig | 16 +- test/behavior/vector.zig | 4 + test/src/Cases.zig | 6 + 36 files changed, 1578 insertions(+), 859 deletions(-)