.github/CODEOWNERS | 5 +- lib/std/testing.zig | 16 +- src/InternPool.zig | 15 +- src/arch/wasm/CodeGen.zig | 28 +- src/codegen/llvm.zig | 1 + src/codegen/spirv.zig | 1263 ++++++++++++++++++++++++-------- src/codegen/spirv/Cache.zig | 32 + src/codegen/spirv/Module.zig | 43 +- src/link/SpirV.zig | 55 +- test/behavior/abs.zig | 1 - test/behavior/align.zig | 7 - test/behavior/array.zig | 6 - test/behavior/basic.zig | 13 - test/behavior/bitcast.zig | 8 - test/behavior/bugs/10684.zig | 1 - test/behavior/bugs/1076.zig | 1 - test/behavior/bugs/11046.zig | 1 - test/behavior/bugs/11139.zig | 1 - test/behavior/bugs/11213.zig | 2 - test/behavior/bugs/11995.zig | 1 - test/behavior/bugs/12092.zig | 1 - test/behavior/bugs/12142.zig | 1 - test/behavior/bugs/12551.zig | 1 - test/behavior/bugs/12644.zig | 2 - test/behavior/bugs/12890.zig | 1 - test/behavior/bugs/12891.zig | 6 - test/behavior/bugs/12972.zig | 1 - test/behavior/bugs/13064.zig | 1 - test/behavior/bugs/13065.zig | 1 - test/behavior/bugs/13366.zig | 1 - test/behavior/bugs/1381.zig | 1 - test/behavior/bugs/1442.zig | 1 - test/behavior/bugs/1607.zig | 1 - test/behavior/bugs/1741.zig | 2 +- test/behavior/bugs/2346.zig | 2 + test/behavior/bugs/2578.zig | 1 - test/behavior/bugs/2692.zig | 1 - test/behavior/bugs/3046.zig | 1 - test/behavior/bugs/3367.zig | 2 - test/behavior/bugs/3742.zig | 1 - test/behavior/bugs/3779.zig | 3 - test/behavior/bugs/5487.zig | 1 - test/behavior/bugs/6905.zig | 1 - test/behavior/bugs/726.zig | 2 - test/behavior/bugs/8646.zig | 1 - test/behavior/call.zig | 6 - test/behavior/cast.zig | 58 +- test/behavior/cast_int.zig | 3 + test/behavior/comptime_memory.zig | 4 - test/behavior/const_slice_child.zig | 1 - test/behavior/defer.zig | 3 - test/behavior/empty_union.zig | 4 - test/behavior/enum.zig | 8 - test/behavior/error.zig | 10 - test/behavior/eval.zig | 8 - test/behavior/floatop.zig | 20 +- test/behavior/fn.zig | 11 - test/behavior/for.zig | 16 - test/behavior/generics.zig | 4 - test/behavior/if.zig | 3 - test/behavior/inline_switch.zig | 1 - test/behavior/int_comparison_elision.zig | 3 +- test/behavior/ir_block_deps.zig | 1 - test/behavior/lower_strlit_to_vector.zig | 1 - test/behavior/math.zig | 9 +- test/behavior/maximum_minimum.zig | 21 +- test/behavior/merge_error_sets.zig | 1 - test/behavior/null.zig | 4 - test/behavior/optional.zig | 16 - test/behavior/packed-struct.zig | 5 + test/behavior/packed-union.zig | 1 + test/behavior/pointers.zig | 7 - test/behavior/ptrcast.zig | 4 +- test/behavior/ptrfromint.zig | 2 - test/behavior/sizeof_and_typeof.zig | 3 - test/behavior/slice.zig | 19 - test/behavior/src.zig | 3 - test/behavior/struct.zig | 16 - test/behavior/switch.zig | 7 - test/behavior/switch_prong_err_enum.zig | 1 - test/behavior/switch_prong_implicit_cast.zig | 1 - test/behavior/threadlocal.zig | 1 - test/behavior/try.zig | 3 - test/behavior/tuple.zig | 10 - test/behavior/tuple_declarations.zig | 2 - test/behavior/type.zig | 3 - test/behavior/type_info.zig | 1 - test/behavior/type_info_only_pub_decls.zig | 2 - test/behavior/typename.zig | 2 - test/behavior/union.zig | 17 +- test/behavior/usingnamespace.zig | 1 - test/behavior/var_args.zig | 10 - test/behavior/vector.zig | 21 - test/behavior/void.zig | 2 - test/behavior/while.zig | 1 - test/behavior/widening.zig | 2 - 96 files changed, 1136 insertions(+), 764 deletions(-)