CMakeLists.txt | 7 +- lib/compiler/test_runner.zig | 15 +- lib/std/Thread.zig | 2 +- lib/std/builtin.zig | 10 +- lib/std/start.zig | 47 +- src/Compilation.zig | 1 + src/arch/riscv64/CodeGen.zig | 2808 ++++++++++++++++++++++---------- src/arch/riscv64/Emit.zig | 173 +- src/arch/riscv64/Encoding.zig | 1119 ------------- src/arch/riscv64/Lower.zig | 925 +++++------ src/arch/riscv64/Mir.zig | 300 +--- src/arch/riscv64/abi.zig | 9 +- src/arch/riscv64/bits.zig | 8 +- src/arch/riscv64/encoder.zig | 80 - src/arch/riscv64/encoding.zig | 729 +++++++++ src/arch/riscv64/mnem.zig | 257 +++ src/codegen.zig | 4 +- src/link/riscv.zig | 40 +- test/behavior/abs.zig | 1 + test/behavior/align.zig | 3 - test/behavior/array.zig | 20 - test/behavior/atomics.zig | 5 - test/behavior/basic.zig | 17 - test/behavior/bit_shifting.zig | 1 - test/behavior/bitcast.zig | 3 - test/behavior/call.zig | 2 - test/behavior/cast.zig | 22 - test/behavior/cast_int.zig | 2 - test/behavior/defer.zig | 3 +- test/behavior/destructure.zig | 2 - test/behavior/enum.zig | 6 - test/behavior/error.zig | 10 - test/behavior/eval.zig | 1 - test/behavior/floatop.zig | 1 - test/behavior/fn.zig | 2 - test/behavior/for.zig | 4 - test/behavior/generics.zig | 6 - test/behavior/globals.zig | 1 - test/behavior/if.zig | 6 - test/behavior/math.zig | 9 - test/behavior/memcpy.zig | 4 - test/behavior/null.zig | 3 - test/behavior/optional.zig | 10 +- test/behavior/packed-struct.zig | 11 - test/behavior/packed-union.zig | 2 - test/behavior/pointers.zig | 6 +- test/behavior/popcount.zig | 1 - test/behavior/slice.zig | 6 - test/behavior/src.zig | 3 - test/behavior/string_literals.zig | 2 - test/behavior/struct.zig | 19 - test/behavior/switch.zig | 12 +- test/behavior/switch_prong_implicit_cast.zig | 1 - test/behavior/threadlocal.zig | 3 - test/behavior/try.zig | 1 + test/behavior/tuple.zig | 5 - test/behavior/tuple_declarations.zig | 2 - test/behavior/type_info.zig | 5 - test/behavior/typename.zig | 8 - test/behavior/union.zig | 9 - test/behavior/union_with_members.zig | 1 - test/behavior/vector.zig | 13 +- test/behavior/while.zig | 5 - test/tests.zig | 2 +- 64 files changed, 3516 insertions(+), 3279 deletions(-)