lib/compiler/test_runner.zig | 5 ++ lib/std/Target/spirv.zig | 42 ++++++++------ src/Zcu.zig | 8 +++ src/codegen/spirv.zig | 58 +++++++++++-------- src/codegen/spirv/Module.zig | 45 ++++++--------- src/link/SpirV/prune_unused.zig | 3 +- test/behavior.zig | 6 +- test/behavior/abs.zig | 3 + test/behavior/addrspace_and_linksection.zig | 2 + test/behavior/align.zig | 11 ++++ test/behavior/alignof.zig | 2 + test/behavior/array.zig | 40 ++++++++++++++ test/behavior/atomics.zig | 2 + test/behavior/basic.zig | 33 +++++++++++ test/behavior/bitcast.zig | 6 +- test/behavior/bool.zig | 1 + test/behavior/call.zig | 5 ++ test/behavior/cast.zig | 95 ++++++++++++++++++++++++++++---- test/behavior/cast_int.zig | 5 +- test/behavior/const_slice_child.zig | 1 + test/behavior/decl_literals.zig | 9 +-- test/behavior/defer.zig | 1 + test/behavior/destructure.zig | 2 + test/behavior/enum.zig | 4 ++ test/behavior/error.zig | 2 + test/behavior/eval.zig | 20 +++++++ test/behavior/export_keyword.zig | 1 + test/behavior/field_parent_ptr.zig | 6 ++ test/behavior/floatop.zig | 46 ++++++++++++---- test/behavior/fn.zig | 4 ++ test/behavior/fn_in_struct_in_comptime.zig | 2 + test/behavior/for.zig | 10 ++++ test/behavior/generics.zig | 18 +++++- test/behavior/globals.zig | 5 ++ test/behavior/if.zig | 1 + test/behavior/lower_strlit_to_vector.zig | 1 + test/behavior/math.zig | 14 ++++- test/behavior/maximum_minimum.zig | 4 ++ test/behavior/memcpy.zig | 5 ++ test/behavior/muladd.zig | 5 ++ test/behavior/null.zig | 1 + test/behavior/optional.zig | 9 ++- test/behavior/packed-struct.zig | 5 ++ test/behavior/pointers.zig | 25 +++++++++ test/behavior/ptrcast.zig | 3 + test/behavior/ptrfromint.zig | 2 + test/behavior/ref_var_in_if_after_if_2nd_switch_prong.zig | 1 + test/behavior/select.zig | 2 + test/behavior/shuffle.zig | 4 ++ test/behavior/sizeof_and_typeof.zig | 4 +- test/behavior/slice.zig | 33 +++++++++++ test/behavior/src.zig | 1 + test/behavior/string_literals.zig | 5 ++ test/behavior/struct.zig | 20 ++++++- test/behavior/struct_contains_null_ptr_itself.zig | 1 + test/behavior/struct_contains_slice_of_itself.zig | 2 + test/behavior/switch.zig | 14 ++--- test/behavior/threadlocal.zig | 2 + test/behavior/truncate.zig | 1 + test/behavior/try.zig | 1 - test/behavior/tuple.zig | 16 +++++- test/behavior/tuple_declarations.zig | 2 + test/behavior/type.zig | 3 + test/behavior/type_info.zig | 13 +++++ test/behavior/typename.zig | 2 + test/behavior/undefined.zig | 2 + test/behavior/union.zig | 22 +++++++- test/behavior/usingnamespace.zig | 8 +++ test/behavior/var_args.zig | 2 +- test/behavior/vector.zig | 23 +++++++- test/behavior/void.zig | 1 + test/behavior/while.zig | 4 ++ test/tests.zig | 13 +++++ 73 files changed, 659 insertions(+), 121 deletions(-)