src/codegen/spirv.zig | 1948 +++++++++++++++++++------------- src/codegen/spirv/Cache.zig | 12 +- src/codegen/spirv/Module.zig | 121 +- src/link/SpirV.zig | 7 +- test/behavior/array.zig | 23 +- test/behavior/basic.zig | 9 +- test/behavior/bitcast.zig | 4 + test/behavior/bugs/10138.zig | 1 - test/behavior/bugs/10970.zig | 1 - test/behavior/bugs/11100.zig | 2 - test/behavior/bugs/11165.zig | 2 - test/behavior/bugs/11816.zig | 1 - test/behavior/bugs/12025.zig | 2 - test/behavior/bugs/12033.zig | 2 - test/behavior/bugs/12043.zig | 2 - test/behavior/bugs/12119.zig | 1 - test/behavior/bugs/12891.zig | 8 - test/behavior/bugs/12928.zig | 4 - test/behavior/bugs/12984.zig | 1 - test/behavior/bugs/13113.zig | 1 - test/behavior/bugs/13159.zig | 1 - test/behavior/bugs/13285.zig | 1 - test/behavior/bugs/14854.zig | 2 - test/behavior/bugs/1500.zig | 2 - test/behavior/bugs/15778.zig | 2 - test/behavior/bugs/2622.zig | 1 - test/behavior/bugs/3779.zig | 2 - test/behavior/bugs/4954.zig | 1 - test/behavior/bugs/5398.zig | 1 - test/behavior/bugs/5487.zig | 1 + test/behavior/bugs/6456.zig | 1 - test/behavior/bugs/656.zig | 1 - test/behavior/bugs/7047.zig | 2 - test/behavior/bugs/7187.zig | 2 - test/behavior/bugs/8277.zig | 2 - test/behavior/bugs/828.zig | 1 - test/behavior/byval_arg_var.zig | 1 - test/behavior/call.zig | 1 - test/behavior/call_tail.zig | 1 + test/behavior/cast.zig | 37 +- test/behavior/cast_int.zig | 1 - test/behavior/comptime_memory.zig | 2 + test/behavior/defer.zig | 2 - test/behavior/empty_union.zig | 3 - test/behavior/enum.zig | 4 - test/behavior/error.zig | 16 +- test/behavior/eval.zig | 36 +- test/behavior/floatop.zig | 3 - test/behavior/fn.zig | 14 +- test/behavior/for.zig | 4 - test/behavior/generics.zig | 15 +- test/behavior/inline_switch.zig | 3 - test/behavior/math.zig | 5 +- test/behavior/maximum_minimum.zig | 2 - test/behavior/optional.zig | 2 + test/behavior/pointers.zig | 9 - test/behavior/slice.zig | 11 - test/behavior/struct.zig | 25 +- test/behavior/switch.zig | 12 +- test/behavior/this.zig | 1 - test/behavior/translate_c_macros.zig | 2 + test/behavior/try.zig | 2 - test/behavior/tuple.zig | 3 - test/behavior/type_info.zig | 5 - test/behavior/type_info_only_pub_decls.zig | 3 + test/behavior/undefined.zig | 2 - test/behavior/underscore.zig | 1 - test/behavior/union.zig | 30 +- test/behavior/var_args.zig | 9 + test/behavior/vector.zig | 2 - test/behavior/while.zig | 15 - 71 files changed, 1301 insertions(+), 1158 deletions(-)