[tint] Implement quadSwapX, Y and Diagonal

Implement WGSL builtins quadSwapX, quadSwapY, and quadSwapDiagonal in
the SPIR-V IR backend and HLSL AST and IR backends. These are not yet
implemented in the MSL backends. No subgroup support is implemented for
the GLSL backend.

Bug: 354738715
Change-Id: Iff1a17a02d9b875333c49ee49f6149dda970f320
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/202415
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@google.com>
diff --git a/test/tint/builtins/gen/var/quadSwapY/06a67c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/quadSwapY/06a67c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..24f2d4d
--- /dev/null
+++ b/test/tint/builtins/gen/var/quadSwapY/06a67c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:1054 internal compiler error: TINT_UNREACHABLE unhandled: quadSwapY
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************