[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