lib/std/builtin.zig | 3 +- lib/std/start.zig | 11 +- lib/std/target.zig | 10 +- lib/std/target/spirv.zig | 8 + src/Compilation.zig | 12 +- src/Sema.zig | 32 +- src/codegen/llvm.zig | 5 +- src/codegen/spirv.zig | 2051 ++++++++++++++++++++++++++++---- src/codegen/spirv/Assembler.zig | 87 +- src/codegen/spirv/Module.zig | 550 +++++++-- src/codegen/spirv/Section.zig | 45 +- src/codegen/spirv/spec.zig | 15 +- src/codegen/spirv/type.zig | 225 +++- src/link/NvPtx.zig | 2 +- src/link/SpirV.zig | 206 +--- src/target.zig | 8 +- src/type.zig | 7 +- test/nvptx.zig | 8 +- tools/gen_spirv_spec.zig | 15 +- 19 files changed, 2664 insertions(+), 636 deletions(-)