[tools]: Generate intrinisic test cases

Add test/intrinsics/intrinsics.wgsl.tmpl that generates a vast set of intrinsic overload permutations into test/intrinsics/gen/...

Add expected output for all of these, including 'SKIP' headers for those that currently fail.

Fixed: tint:832
Change-Id: Id6888df52c07f35e7a55199f2ad4d842c6e2595c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53051
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
diff --git a/test/intrinsics/gen/pow/46e029.wgsl.expected.spvasm b/test/intrinsics/gen/pow/46e029.wgsl.expected.spvasm
new file mode 100644
index 0000000..030a77e
--- /dev/null
+++ b/test/intrinsics/gen/pow/46e029.wgsl.expected.spvasm
@@ -0,0 +1,51 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 23
+; Schema: 0
+               OpCapability Shader
+         %10 = OpExtInstImport "GLSL.std.450"
+               OpMemoryModel Logical GLSL450
+               OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize
+               OpEntryPoint Fragment %fragment_main "fragment_main"
+               OpEntryPoint GLCompute %compute_main "compute_main"
+               OpExecutionMode %fragment_main OriginUpperLeft
+               OpExecutionMode %compute_main LocalSize 1 1 1
+               OpName %tint_pointsize "tint_pointsize"
+               OpName %pow_46e029 "pow_46e029"
+               OpName %res "res"
+               OpName %vertex_main "vertex_main"
+               OpName %fragment_main "fragment_main"
+               OpName %compute_main "compute_main"
+               OpDecorate %tint_pointsize BuiltIn PointSize
+      %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+          %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+       %void = OpTypeVoid
+          %5 = OpTypeFunction %void
+    %float_1 = OpConstant %float 1
+%_ptr_Function_float = OpTypePointer Function %float
+ %pow_46e029 = OpFunction %void None %5
+          %8 = OpLabel
+        %res = OpVariable %_ptr_Function_float Function %4
+          %9 = OpExtInst %float %10 Pow %float_1 %float_1
+               OpStore %res %9
+               OpReturn
+               OpFunctionEnd
+%vertex_main = OpFunction %void None %5
+         %15 = OpLabel
+               OpStore %tint_pointsize %float_1
+         %16 = OpFunctionCall %void %pow_46e029
+               OpReturn
+               OpFunctionEnd
+%fragment_main = OpFunction %void None %5
+         %18 = OpLabel
+         %19 = OpFunctionCall %void %pow_46e029
+               OpReturn
+               OpFunctionEnd
+%compute_main = OpFunction %void None %5
+         %21 = OpLabel
+         %22 = OpFunctionCall %void %pow_46e029
+               OpReturn
+               OpFunctionEnd