Add end-to-end corpus from Tint SPIR-V Reader

Add the unit tests samples from src/reader/spirv when:
- they are valid for Vulkan 1.0 (plus some common extensions)
- they should translate to valid WGSL

Bug: tint:1043
Change-Id: I40a01990dbc40aff5cf7ace0b1aabfd0e437f638
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60000
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/test/unittest/reader/spirv/SpvParserTest_VectorExtractDynamic_SignedIndex.spvasm b/test/unittest/reader/spirv/SpvParserTest_VectorExtractDynamic_SignedIndex.spvasm
new file mode 100644
index 0000000..49be645
--- /dev/null
+++ b/test/unittest/reader/spirv/SpvParserTest_VectorExtractDynamic_SignedIndex.spvasm
@@ -0,0 +1,48 @@
+; Test: SpvParserTest_VectorExtractDynamic_SignedIndex.spvasm
+; SPIR-V
+; Version: 1.0
+; Generator: Khronos SPIR-V Tools Assembler; 0
+; Bound: 101
+; Schema: 0
+OpCapability Shader
+OpMemoryModel Logical Simple
+OpEntryPoint GLCompute %100 "main"
+OpExecutionMode %100 LocalSize 1 1 1
+%void = OpTypeVoid
+%4 = OpTypeFunction %void
+%uint = OpTypeInt 32 0
+%int = OpTypeInt 32 1
+%float = OpTypeFloat 32
+%uint_10 = OpConstant %uint 10
+%uint_20 = OpConstant %uint 20
+%uint_3 = OpConstant %uint 3
+%uint_4 = OpConstant %uint 4
+%uint_5 = OpConstant %uint 5
+%int_1 = OpConstant %int 1
+%int_30 = OpConstant %int 30
+%int_40 = OpConstant %int 40
+%float_50 = OpConstant %float 50
+%float_60 = OpConstant %float 60
+%float_70 = OpConstant %float 70
+%v2uint = OpTypeVector %uint 2
+%v3uint = OpTypeVector %uint 3
+%v4uint = OpTypeVector %uint 4
+%v2int = OpTypeVector %int 2
+%v2float = OpTypeVector %float 2
+%mat3v2float = OpTypeMatrix %v2float 3
+%26 = OpConstantNull %mat3v2float
+%_struct_27 = OpTypeStruct %v2float %uint %int
+%_arr_uint_uint_5 = OpTypeArray %uint %uint_5
+%29 = OpConstantComposite %v2uint %uint_3 %uint_4
+%30 = OpConstantComposite %v2uint %uint_4 %uint_3
+%31 = OpConstantComposite %v2float %float_50 %float_60
+%32 = OpConstantComposite %v2float %float_60 %float_50
+%33 = OpConstantComposite %v2float %float_70 %float_70
+%100 = OpFunction %void None %4
+%34 = OpLabel
+%1 = OpCopyObject %v2uint %29
+%2 = OpCopyObject %int %int_1
+%10 = OpVectorExtractDynamic %uint %1 %2
+OpReturn
+OpFunctionEnd
+