lib/compiler/test_runner.zig | 6 +- lib/std/mem.zig | 2 + lib/std/testing.zig | 2 +- src/arch/riscv64/CodeGen.zig | 29 ++++--- src/arch/riscv64/Encoding.zig | 13 ++- src/arch/riscv64/Lower.zig | 20 ++++- src/arch/riscv64/abi.zig | 4 + test/behavior/abs.zig | 11 ++- test/behavior/align.zig | 2 + test/behavior/alignof.zig | 2 + test/behavior/array.zig | 145 +++++++++++--------------------- test/behavior/asm.zig | 4 + test/behavior/atomics.zig | 13 +++ test/behavior/basic.zig | 57 +++++++++++++ test/behavior/bit_shifting.zig | 2 + test/behavior/bitcast.zig | 18 ++++ test/behavior/bitreverse.zig | 4 + test/behavior/bool.zig | 2 + test/behavior/builtin_functions_returning_void_or_noreturn.zig | 2 +- test/behavior/byteswap.zig | 4 + test/behavior/byval_arg_var.zig | 1 + test/behavior/call.zig | 15 ++++ test/behavior/call_tail.zig | 2 + test/behavior/cast.zig | 112 ++++++++++++++++++++++++ test/behavior/cast_int.zig | 8 ++ test/behavior/comptime_memory.zig | 6 ++ test/behavior/const_slice_child.zig | 1 + test/behavior/decltest.zig | 2 + test/behavior/defer.zig | 10 +++ test/behavior/destructure.zig | 2 + test/behavior/duplicated_test_names.zig | 1 + test/behavior/empty_tuple_fields.zig | 2 + test/behavior/empty_union.zig | 4 + test/behavior/enum.zig | 23 +++++ test/behavior/error.zig | 43 ++++++++++ test/behavior/eval.zig | 44 ++++++++++ test/behavior/export_builtin.zig | 2 + test/behavior/export_keyword.zig | 3 + test/behavior/extern.zig | 3 + test/behavior/field_parent_ptr.zig | 21 +++++ test/behavior/floatop.zig | 78 +++++++++++++++++ test/behavior/fn.zig | 33 ++++++++ test/behavior/fn_delegation.zig | 1 + test/behavior/for.zig | 25 ++++++ test/behavior/generics.zig | 24 ++++++ test/behavior/globals.zig | 4 + test/behavior/hasdecl.zig | 4 + test/behavior/if.zig | 10 +++ test/behavior/import.zig | 4 + test/behavior/import_c_keywords.zig | 1 + test/behavior/incomplete_struct_param_tld.zig | 1 + test/behavior/inline_switch.zig | 9 ++ test/behavior/int128.zig | 5 ++ test/behavior/int_comparison_elision.zig | 2 + test/behavior/int_div.zig | 2 + test/behavior/ir_block_deps.zig | 1 + test/behavior/lower_strlit_to_vector.zig | 1 + test/behavior/math.zig | 61 ++++++++++++++ test/behavior/maximum_minimum.zig | 16 ++++ test/behavior/member_func.zig | 2 + test/behavior/memcpy.zig | 4 + test/behavior/memset.zig | 9 ++ test/behavior/merge_error_sets.zig | 1 + test/behavior/muladd.zig | 10 +++ test/behavior/multiple_externs_with_conflicting_types.zig | 1 + test/behavior/namespace_depends_on_compile_var.zig | 1 + test/behavior/nan.zig | 1 + test/behavior/null.zig | 8 ++ test/behavior/optional.zig | 26 ++++++ test/behavior/packed-struct.zig | 33 ++++++++ test/behavior/packed-union.zig | 5 ++ test/behavior/packed_struct_explicit_backing_int.zig | 1 + test/behavior/pointers.zig | 21 +++++ test/behavior/popcount.zig | 3 + test/behavior/prefetch.zig | 1 + test/behavior/ptrcast.zig | 4 + test/behavior/ptrfromint.zig | 5 ++ test/behavior/pub_enum.zig | 2 + test/behavior/ref_var_in_if_after_if_2nd_switch_prong.zig | 1 + test/behavior/reflection.zig | 1 + test/behavior/return_address.zig | 1 + test/behavior/saturating_arithmetic.zig | 7 ++ test/behavior/select.zig | 2 + test/behavior/shuffle.zig | 3 + test/behavior/sizeof_and_typeof.zig | 9 ++ test/behavior/slice.zig | 33 ++++++++ test/behavior/src.zig | 3 + test/behavior/string_literals.zig | 5 ++ test/behavior/struct.zig | 83 ++++++++++++++++++ test/behavior/struct_contains_null_ptr_itself.zig | 1 + test/behavior/struct_contains_slice_of_itself.zig | 2 + test/behavior/switch.zig | 43 ++++++++++ test/behavior/switch_on_captured_error.zig | 2 + test/behavior/switch_prong_err_enum.zig | 1 + test/behavior/switch_prong_implicit_cast.zig | 1 + test/behavior/this.zig | 4 + test/behavior/threadlocal.zig | 3 + test/behavior/truncate.zig | 1 + test/behavior/try.zig | 2 + test/behavior/tuple.zig | 22 +++++ test/behavior/tuple_declarations.zig | 2 + test/behavior/type.zig | 4 + test/behavior/type_info.zig | 12 +++ test/behavior/typename.zig | 8 ++ test/behavior/undefined.zig | 5 ++ test/behavior/underscore.zig | 1 + test/behavior/union.zig | 72 ++++++++++++++++ test/behavior/union_with_members.zig | 1 + test/behavior/usingnamespace.zig | 13 +++ test/behavior/usingnamespace/file_1.zig | 3 + test/behavior/usingnamespace/import_segregation.zig | 1 + test/behavior/var_args.zig | 15 ++++ test/behavior/vector.zig | 47 ++++++++++- test/behavior/void.zig | 2 + test/behavior/wasm.zig | 2 + test/behavior/while.zig | 23 +++++ test/behavior/widening.zig | 5 ++ test/behavior/wrapping_arithmetic.zig | 3 + test/cases/compile_errors/capture_by_ref_while.zig | 2 +- test/cases/compile_errors/switch_expression-missing_error_prong.zig | 2 +- test/cases/compile_errors/switch_expression-multiple_else_prongs.zig | 4 +- test/cases/inherit_want_safety.zig | 2 +- test/tests.zig | 14 +++ 123 files changed, 1411 insertions(+), 129 deletions(-)