diff --git a/test/tint/bug/chromium/1221120.wgsl.expected.ir.msl b/test/tint/bug/chromium/1221120.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fbf9d3f
--- /dev/null
+++ b/test/tint/bug/chromium/1221120.wgsl.expected.ir.msl
@@ -0,0 +1,4 @@
+
+#include <metal_stdlib>
+using namespace metal;
+
diff --git a/test/tint/bug/chromium/1236161.wgsl.expected.ir.msl b/test/tint/bug/chromium/1236161.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b3332ec
--- /dev/null
+++ b/test/tint/bug/chromium/1236161.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void i() {
+  float const s = 1.0f;
+}
diff --git a/test/tint/bug/chromium/1273451.wgsl.expected.ir.msl b/test/tint/bug/chromium/1273451.wgsl.expected.ir.msl
new file mode 100644
index 0000000..502238c
--- /dev/null
+++ b/test/tint/bug/chromium/1273451.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct B {
+  int b;
+};
+
+B f() {
+  return B{};
+}
diff --git a/test/tint/bug/chromium/1341475.wgsl.expected.ir.msl b/test/tint/bug/chromium/1341475.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1cb6c56
--- /dev/null
+++ b/test/tint/bug/chromium/1341475.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  float const a = 1.0f;
+}
diff --git a/test/tint/bug/chromium/1343242.wgsl.expected.ir.msl b/test/tint/bug/chromium/1343242.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d009c59
--- /dev/null
+++ b/test/tint/bug/chromium/1343242.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool o = true;
diff --git a/test/tint/bug/chromium/1350147.wgsl.expected.ir.msl b/test/tint/bug/chromium/1350147.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dba5f88
--- /dev/null
+++ b/test/tint/bug/chromium/1350147.wgsl.expected.ir.msl
@@ -0,0 +1,13 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void original_clusterfuzz_code() {
+}
+void more_tests_that_would_fail() {
+  float const a = 1.47112762928009033203f;
+  float const b = 0.09966865181922912598f;
+  float const a = 2.5f;
+  float const b = 2.5f;
+}
diff --git a/test/tint/bug/chromium/1367602_function_space_initializer_valid_count.wgsl.expected.ir.msl b/test/tint/bug/chromium/1367602_function_space_initializer_valid_count.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1910270
--- /dev/null
+++ b/test/tint/bug/chromium/1367602_function_space_initializer_valid_count.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void f() {
+  tint_array<bool, 65535> v = tint_array<bool, 65535>{};
+}
diff --git a/test/tint/bug/chromium/1367602_function_space_no_initializer_valid_count.wgsl.expected.ir.msl b/test/tint/bug/chromium/1367602_function_space_no_initializer_valid_count.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf555cc
--- /dev/null
+++ b/test/tint/bug/chromium/1367602_function_space_no_initializer_valid_count.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void f() {
+  tint_array<bool, 65535> v = {};
+}
diff --git a/test/tint/bug/chromium/1367602_private_space_initializer_valid_count.wgsl.expected.ir.msl b/test/tint/bug/chromium/1367602_private_space_initializer_valid_count.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5e5fb64
--- /dev/null
+++ b/test/tint/bug/chromium/1367602_private_space_initializer_valid_count.wgsl.expected.ir.msl
@@ -0,0 +1,20 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<bool, 65535> v = tint_array<bool, 65535>{};
+void f() {
+}
diff --git a/test/tint/bug/chromium/1367602_private_space_no_initializer_valid_count.wgsl.expected.ir.msl b/test/tint/bug/chromium/1367602_private_space_no_initializer_valid_count.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf741e0
--- /dev/null
+++ b/test/tint/bug/chromium/1367602_private_space_no_initializer_valid_count.wgsl.expected.ir.msl
@@ -0,0 +1,20 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<bool, 65535> v = {};
+void f() {
+}
diff --git a/test/tint/bug/chromium/1381883.wgsl.expected.ir.msl b/test/tint/bug/chromium/1381883.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f925a33
--- /dev/null
+++ b/test/tint/bug/chromium/1381883.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+}
diff --git a/test/tint/bug/chromium/1383755.wgsl.expected.ir.msl b/test/tint/bug/chromium/1383755.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e1d3e0c
--- /dev/null
+++ b/test/tint/bug/chromium/1383755.wgsl.expected.ir.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
diff --git a/test/tint/bug/chromium/1395241.wgsl.expected.ir.msl b/test/tint/bug/chromium/1395241.wgsl.expected.ir.msl
new file mode 100644
index 0000000..799748a
--- /dev/null
+++ b/test/tint/bug/chromium/1395241.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void fr6snorm() {
+  int bzbxttch = 2;
+}
diff --git a/test/tint/bug/chromium/1417515.wgsl.expected.ir.msl b/test/tint/bug/chromium/1417515.wgsl.expected.ir.msl
new file mode 100644
index 0000000..92e2505
--- /dev/null
+++ b/test/tint/bug/chromium/1417515.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+#include <metal_stdlib>
+using namespace metal;
+struct modf_result_f32 {
+  float fract;
+  float whole;
+};
+
+void foo() {
+  modf_result_f32 const s1 = modf_result_f32{};
+}
diff --git a/test/tint/bug/chromium/1449474.wgsl.expected.ir.msl b/test/tint/bug/chromium/1449474.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e3024b1
--- /dev/null
+++ b/test/tint/bug/chromium/1449474.wgsl.expected.ir.msl
@@ -0,0 +1,20 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1> arr = tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<tint_array<int, 1>, 1>, 1>, 1>{tint_array<tint_array<tint_array<int, 1>, 1>, 1>{tint_array<tint_array<int, 1>, 1>{tint_array<int, 1>{-6}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}};
+void f() {
+}
diff --git a/test/tint/bug/chromium/1501769.wgsl.expected.ir.msl b/test/tint/bug/chromium/1501769.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4e22f2b
--- /dev/null
+++ b/test/tint/bug/chromium/1501769.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void a() {
+}
diff --git a/test/tint/bug/tint/1083.wgsl.expected.ir.msl b/test/tint/bug/tint/1083.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a5d4f90
--- /dev/null
+++ b/test/tint/bug/tint/1083.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 0;
+}
diff --git a/test/tint/bug/tint/1518.wgsl.expected.ir.msl b/test/tint/bug/tint/1518.wgsl.expected.ir.msl
new file mode 100644
index 0000000..047dc30
--- /dev/null
+++ b/test/tint/bug/tint/1518.wgsl.expected.ir.msl
@@ -0,0 +1,379 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  } else {
+    if (false) {
+    } else {
+      if (false) {
+      } else {
+        if (false) {
+        } else {
+          if (false) {
+          } else {
+            if (false) {
+            } else {
+              if (false) {
+              } else {
+                if (false) {
+                } else {
+                  if (false) {
+                  } else {
+                    if (false) {
+                    } else {
+                      if (false) {
+                      } else {
+                        if (false) {
+                        } else {
+                          if (false) {
+                          } else {
+                            if (false) {
+                            } else {
+                              if (false) {
+                              } else {
+                                if (false) {
+                                } else {
+                                  if (false) {
+                                  } else {
+                                    if (false) {
+                                    } else {
+                                      if (false) {
+                                      } else {
+                                        if (false) {
+                                        } else {
+                                          if (false) {
+                                          } else {
+                                            if (false) {
+                                            } else {
+                                              if (false) {
+                                              } else {
+                                                if (false) {
+                                                } else {
+                                                  if (false) {
+                                                  } else {
+                                                    if (false) {
+                                                    } else {
+                                                      if (false) {
+                                                      } else {
+                                                        if (false) {
+                                                        } else {
+                                                          if (false) {
+                                                          } else {
+                                                            if (false) {
+                                                            } else {
+                                                              if (false) {
+                                                              } else {
+                                                                if (false) {
+                                                                } else {
+                                                                  if (false) {
+                                                                  } else {
+                                                                    if (false) {
+                                                                    } else {
+                                                                      if (false) {
+                                                                      } else {
+                                                                        if (false) {
+                                                                        } else {
+                                                                          if (false) {
+                                                                          } else {
+                                                                            if (false) {
+                                                                            } else {
+                                                                              if (false) {
+                                                                              } else {
+                                                                                if (false) {
+                                                                                } else {
+                                                                                  if (false) {
+                                                                                  } else {
+                                                                                    if (false) {
+                                                                                    } else {
+                                                                                      if (false) {
+                                                                                      } else {
+                                                                                        if (false) {
+                                                                                        } else {
+                                                                                          if (false) {
+                                                                                          } else {
+                                                                                            if (false) {
+                                                                                            } else {
+                                                                                              if (false) {
+                                                                                              } else {
+                                                                                                if (false) {
+                                                                                                } else {
+                                                                                                  if (false) {
+                                                                                                  } else {
+                                                                                                    if (false) {
+                                                                                                    } else {
+                                                                                                      if (false) {
+                                                                                                      } else {
+                                                                                                        if (false) {
+                                                                                                        } else {
+                                                                                                          if (false) {
+                                                                                                          } else {
+                                                                                                            if (false) {
+                                                                                                            } else {
+                                                                                                              if (false) {
+                                                                                                              } else {
+                                                                                                                if (false) {
+                                                                                                                } else {
+                                                                                                                  if (false) {
+                                                                                                                  } else {
+                                                                                                                    if (false) {
+                                                                                                                    } else {
+                                                                                                                      if (false) {
+                                                                                                                      } else {
+                                                                                                                        if (false) {
+                                                                                                                        } else {
+                                                                                                                          if (false) {
+                                                                                                                          } else {
+                                                                                                                            if (false) {
+                                                                                                                            } else {
+                                                                                                                              if (false) {
+                                                                                                                              } else {
+                                                                                                                                if (false) {
+                                                                                                                                } else {
+                                                                                                                                  if (false) {
+                                                                                                                                  } else {
+                                                                                                                                    if (false) {
+                                                                                                                                    } else {
+                                                                                                                                      if (false) {
+                                                                                                                                      } else {
+                                                                                                                                        if (false) {
+                                                                                                                                        } else {
+                                                                                                                                          if (false) {
+                                                                                                                                          } else {
+                                                                                                                                            if (false) {
+                                                                                                                                            } else {
+                                                                                                                                              if (false) {
+                                                                                                                                              } else {
+                                                                                                                                                if (false) {
+                                                                                                                                                } else {
+                                                                                                                                                  if (false) {
+                                                                                                                                                  } else {
+                                                                                                                                                    if (false) {
+                                                                                                                                                    } else {
+                                                                                                                                                      if (false) {
+                                                                                                                                                      } else {
+                                                                                                                                                        if (false) {
+                                                                                                                                                        } else {
+                                                                                                                                                          if (false) {
+                                                                                                                                                          } else {
+                                                                                                                                                            if (false) {
+                                                                                                                                                            } else {
+                                                                                                                                                              if (false) {
+                                                                                                                                                              } else {
+                                                                                                                                                                if (false) {
+                                                                                                                                                                } else {
+                                                                                                                                                                  if (false) {
+                                                                                                                                                                  } else {
+                                                                                                                                                                    if (false) {
+                                                                                                                                                                    } else {
+                                                                                                                                                                      if (false) {
+                                                                                                                                                                      } else {
+                                                                                                                                                                        if (false) {
+                                                                                                                                                                        } else {
+                                                                                                                                                                          if (false) {
+                                                                                                                                                                          } else {
+                                                                                                                                                                            if (false) {
+                                                                                                                                                                            } else {
+                                                                                                                                                                              if (false) {
+                                                                                                                                                                              } else {
+                                                                                                                                                                                if (false) {
+                                                                                                                                                                                } else {
+                                                                                                                                                                                  if (false) {
+                                                                                                                                                                                  } else {
+                                                                                                                                                                                    if (false) {
+                                                                                                                                                                                    } else {
+                                                                                                                                                                                      if (false) {
+                                                                                                                                                                                      } else {
+                                                                                                                                                                                        if (false) {
+                                                                                                                                                                                        } else {
+                                                                                                                                                                                          if (false) {
+                                                                                                                                                                                          } else {
+                                                                                                                                                                                            if (false) {
+                                                                                                                                                                                            } else {
+                                                                                                                                                                                              if (false) {
+                                                                                                                                                                                              } else {
+                                                                                                                                                                                                if (false) {
+                                                                                                                                                                                                } else {
+                                                                                                                                                                                                  if (false) {
+                                                                                                                                                                                                  } else {
+                                                                                                                                                                                                    if (false) {
+                                                                                                                                                                                                    } else {
+                                                                                                                                                                                                      if (false) {
+                                                                                                                                                                                                      } else {
+                                                                                                                                                                                                        if (false) {
+                                                                                                                                                                                                        } else {
+                                                                                                                                                                                                          if (false) {
+                                                                                                                                                                                                          } else {
+                                                                                                                                                                                                            if (false) {
+                                                                                                                                                                                                            } else {
+                                                                                                                                                                                                              if (false) {
+                                                                                                                                                                                                              } else {
+                                                                                                                                                                                                                if (false) {
+                                                                                                                                                                                                                } else {
+                                                                                                                                                                                                                  if (false) {
+                                                                                                                                                                                                                  } else {
+                                                                                                                                                                                                                    if (false) {
+                                                                                                                                                                                                                    } else {
+                                                                                                                                                                                                                      if (false) {
+                                                                                                                                                                                                                      } else {
+                                                                                                                                                                                                                        if (false) {
+                                                                                                                                                                                                                        } else {
+                                                                                                                                                                                                                          if (false) {
+                                                                                                                                                                                                                          } else {
+                                                                                                                                                                                                                            if (false) {
+                                                                                                                                                                                                                            } else {
+                                                                                                                                                                                                                              if (false) {
+                                                                                                                                                                                                                              } else {
+                                                                                                                                                                                                                                if (false) {
+                                                                                                                                                                                                                                } else {
+                                                                                                                                                                                                                                  if (false) {
+                                                                                                                                                                                                                                  } else {
+                                                                                                                                                                                                                                    if (false) {
+                                                                                                                                                                                                                                    } else {
+                                                                                                                                                                                                                                      if (false) {
+                                                                                                                                                                                                                                      } else {
+                                                                                                                                                                                                                                        if (false) {
+                                                                                                                                                                                                                                        } else {
+                                                                                                                                                                                                                                          if (false) {
+                                                                                                                                                                                                                                          } else {
+                                                                                                                                                                                                                                            if (false) {
+                                                                                                                                                                                                                                            } else {
+                                                                                                                                                                                                                                              if (false) {
+                                                                                                                                                                                                                                              } else {
+                                                                                                                                                                                                                                                if (false) {
+                                                                                                                                                                                                                                                } else {
+                                                                                                                                                                                                                                                  if (false) {
+                                                                                                                                                                                                                                                  } else {
+                                                                                                                                                                                                                                                    if (false) {
+                                                                                                                                                                                                                                                    } else {
+                                                                                                                                                                                                                                                      if (false) {
+                                                                                                                                                                                                                                                      } else {
+                                                                                                                                                                                                                                                        if (false) {
+                                                                                                                                                                                                                                                        } else {
+                                                                                                                                                                                                                                                          if (false) {
+                                                                                                                                                                                                                                                          }
+                                                                                                                                                                                                                                                        }
+                                                                                                                                                                                                                                                      }
+                                                                                                                                                                                                                                                    }
+                                                                                                                                                                                                                                                  }
+                                                                                                                                                                                                                                                }
+                                                                                                                                                                                                                                              }
+                                                                                                                                                                                                                                            }
+                                                                                                                                                                                                                                          }
+                                                                                                                                                                                                                                        }
+                                                                                                                                                                                                                                      }
+                                                                                                                                                                                                                                    }
+                                                                                                                                                                                                                                  }
+                                                                                                                                                                                                                                }
+                                                                                                                                                                                                                              }
+                                                                                                                                                                                                                            }
+                                                                                                                                                                                                                          }
+                                                                                                                                                                                                                        }
+                                                                                                                                                                                                                      }
+                                                                                                                                                                                                                    }
+                                                                                                                                                                                                                  }
+                                                                                                                                                                                                                }
+                                                                                                                                                                                                              }
+                                                                                                                                                                                                            }
+                                                                                                                                                                                                          }
+                                                                                                                                                                                                        }
+                                                                                                                                                                                                      }
+                                                                                                                                                                                                    }
+                                                                                                                                                                                                  }
+                                                                                                                                                                                                }
+                                                                                                                                                                                              }
+                                                                                                                                                                                            }
+                                                                                                                                                                                          }
+                                                                                                                                                                                        }
+                                                                                                                                                                                      }
+                                                                                                                                                                                    }
+                                                                                                                                                                                  }
+                                                                                                                                                                                }
+                                                                                                                                                                              }
+                                                                                                                                                                            }
+                                                                                                                                                                          }
+                                                                                                                                                                        }
+                                                                                                                                                                      }
+                                                                                                                                                                    }
+                                                                                                                                                                  }
+                                                                                                                                                                }
+                                                                                                                                                              }
+                                                                                                                                                            }
+                                                                                                                                                          }
+                                                                                                                                                        }
+                                                                                                                                                      }
+                                                                                                                                                    }
+                                                                                                                                                  }
+                                                                                                                                                }
+                                                                                                                                              }
+                                                                                                                                            }
+                                                                                                                                          }
+                                                                                                                                        }
+                                                                                                                                      }
+                                                                                                                                    }
+                                                                                                                                  }
+                                                                                                                                }
+                                                                                                                              }
+                                                                                                                            }
+                                                                                                                          }
+                                                                                                                        }
+                                                                                                                      }
+                                                                                                                    }
+                                                                                                                  }
+                                                                                                                }
+                                                                                                              }
+                                                                                                            }
+                                                                                                          }
+                                                                                                        }
+                                                                                                      }
+                                                                                                    }
+                                                                                                  }
+                                                                                                }
+                                                                                              }
+                                                                                            }
+                                                                                          }
+                                                                                        }
+                                                                                      }
+                                                                                    }
+                                                                                  }
+                                                                                }
+                                                                              }
+                                                                            }
+                                                                          }
+                                                                        }
+                                                                      }
+                                                                    }
+                                                                  }
+                                                                }
+                                                              }
+                                                            }
+                                                          }
+                                                        }
+                                                      }
+                                                    }
+                                                  }
+                                                }
+                                              }
+                                            }
+                                          }
+                                        }
+                                      }
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/test/tint/bug/tint/1540.wgsl.expected.ir.msl b/test/tint/bug/tint/1540.wgsl.expected.ir.msl
new file mode 100644
index 0000000..16b8883
--- /dev/null
+++ b/test/tint/bug/tint/1540.wgsl.expected.ir.msl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct S {
+  bool e;
+};
+
+void tint_symbol() {
+  bool b = false;
+  S v = {.e=(true & b)};
+}
diff --git a/test/tint/bug/tint/1564.wgsl.expected.ir.msl b/test/tint/bug/tint/1564.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ddf62d5
--- /dev/null
+++ b/test/tint/bug/tint/1564.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void foo() {
+  float const b = 9.9999461e-41f;
+}
diff --git a/test/tint/bug/tint/1598.wgsl.expected.ir.msl b/test/tint/bug/tint/1598.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff96893
--- /dev/null
+++ b/test/tint/bug/tint/1598.wgsl.expected.ir.msl
@@ -0,0 +1,20 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void tint_symbol() {
+  tint_array<int, 5> a = {};
+}
diff --git a/test/tint/bug/tint/1660.wgsl.expected.ir.msl b/test/tint/bug/tint/1660.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc034c1
--- /dev/null
+++ b/test/tint/bug/tint/1660.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+threadgroup tint_array<float, 2> a;
diff --git a/test/tint/bug/tint/1664.wgsl.expected.ir.msl b/test/tint/bug/tint/1664.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4d167dc
--- /dev/null
+++ b/test/tint/bug/tint/1664.wgsl.expected.ir.msl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f0() {
+  int const a = 2147483647;
+  int const b = 1;
+}
+void f1() {
+  int const a = 1;
+}
diff --git a/test/tint/bug/tint/1697.wgsl.expected.ir.msl b/test/tint/bug/tint/1697.wgsl.expected.ir.msl
new file mode 100644
index 0000000..316baf2
--- /dev/null
+++ b/test/tint/bug/tint/1697.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int v = 0;
+}
diff --git a/test/tint/bug/tint/1713.wgsl.expected.ir.msl b/test/tint/bug/tint/1713.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c73104
--- /dev/null
+++ b/test/tint/bug/tint/1713.wgsl.expected.ir.msl
@@ -0,0 +1,3 @@
+#include <metal_stdlib>
+using namespace metal;
+
diff --git a/test/tint/bug/tint/1717.wgsl.expected.ir.msl b/test/tint/bug/tint/1717.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e9b0ddb
--- /dev/null
+++ b/test/tint/bug/tint/1717.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+uint f() {
+  return 2147483648u;
+}
diff --git a/test/tint/bug/tint/1731.wgsl.expected.ir.msl b/test/tint/bug/tint/1731.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4353bd7
--- /dev/null
+++ b/test/tint/bug/tint/1731.wgsl.expected.ir.msl
@@ -0,0 +1,5 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void g() {
+}
diff --git a/test/tint/bug/tint/1781.wgsl.expected.ir.msl b/test/tint/bug/tint/1781.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e7fbdcc
--- /dev/null
+++ b/test/tint/bug/tint/1781.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+}
diff --git a/test/tint/bug/tint/1852.wgsl.expected.ir.msl b/test/tint/bug/tint/1852.wgsl.expected.ir.msl
new file mode 100644
index 0000000..55991d1
--- /dev/null
+++ b/test/tint/bug/tint/1852.wgsl.expected.ir.msl
@@ -0,0 +1,5 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void foo() {
+}
diff --git a/test/tint/bug/tint/2052.wgsl.expected.ir.msl b/test/tint/bug/tint/2052.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6f459d5
--- /dev/null
+++ b/test/tint/bug/tint/2052.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  discard_fragment();
+}
diff --git a/test/tint/bug/tint/2056.wgsl.expected.ir.msl b/test/tint/bug/tint/2056.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6712bf5
--- /dev/null
+++ b/test/tint/bug/tint/2056.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+float f() {
+  return 0.0f;
+}
diff --git a/test/tint/bug/tint/992.wgsl.expected.ir.msl b/test/tint/bug/tint/992.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5ecef9e
--- /dev/null
+++ b/test/tint/bug/tint/992.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 frag_main() {
+  float b = 0.0f;
+  float3 v = float3(b);
+  return float4(v, 1.0f);
+}
diff --git a/test/tint/builtins/frexp/scalar/const_members.wgsl.expected.ir.msl b/test/tint/builtins/frexp/scalar/const_members.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a29a00
--- /dev/null
+++ b/test/tint/builtins/frexp/scalar/const_members.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  float const fract = 0.625f;
+  int const exp = 1;
+}
diff --git a/test/tint/builtins/frexp/vector/const_members.wgsl.expected.ir.msl b/test/tint/builtins/frexp/vector/const_members.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eab81ac
--- /dev/null
+++ b/test/tint/builtins/frexp/vector/const_members.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  float2 const fract = float2(0.625f, 0.9375f);
+  int2 const exp = int2(1, 2);
+}
diff --git a/test/tint/builtins/modf/scalar/const_members.wgsl.expected.ir.msl b/test/tint/builtins/modf/scalar/const_members.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d16f03d
--- /dev/null
+++ b/test/tint/builtins/modf/scalar/const_members.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  float const fract = 0.25f;
+  float const whole = 1.0f;
+}
diff --git a/test/tint/builtins/modf/vector/const_members.wgsl.expected.ir.msl b/test/tint/builtins/modf/vector/const_members.wgsl.expected.ir.msl
new file mode 100644
index 0000000..496e949
--- /dev/null
+++ b/test/tint/builtins/modf/vector/const_members.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  float2 const fract = float2(0.25f, 0.75f);
+  float2 const whole = float2(1.0f, 3.0f);
+}
diff --git a/test/tint/const/global/global.wgsl.expected.ir.msl b/test/tint/const/global/global.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1980cc5
--- /dev/null
+++ b/test/tint/const/global/global.wgsl.expected.ir.msl
@@ -0,0 +1,28 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+float4 tint_symbol() {
+  int v1 = 1;
+  uint v2 = 1u;
+  float v3 = 1.0f;
+  int3 v4 = int3(1);
+  uint3 v5 = uint3(1u);
+  float3 v6 = float3(1.0f);
+  float3x3 v7 = float3x3(float3(1.0f), float3(1.0f), float3(1.0f));
+  tint_array<float, 10> v9 = tint_array<float, 10>{};
+  return float4(0.0f);
+}
diff --git a/test/tint/const/inferred/function.wgsl.expected.ir.msl b/test/tint/const/inferred/function.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8153696
--- /dev/null
+++ b/test/tint/const/inferred/function.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void const_decls() {
+}
+float4 tint_symbol() {
+  return float4(0.0f);
+}
diff --git a/test/tint/expressions/binary/add/mat3x3-mat3x3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/mat3x3-mat3x3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d6c3ec1
--- /dev/null
+++ b/test/tint/expressions/binary/add/mat3x3-mat3x3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3x3 const a = half3x3(half3(1.0h, 2.0h, 3.0h), half3(4.0h, 5.0h, 6.0h), half3(7.0h, 8.0h, 9.0h));
+  half3x3 const b = half3x3(half3(-1.0h, -2.0h, -3.0h), half3(-4.0h, -5.0h, -6.0h), half3(-7.0h, -8.0h, -9.0h));
+}
diff --git a/test/tint/expressions/binary/add/mat3x3-mat3x3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/mat3x3-mat3x3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1172bde
--- /dev/null
+++ b/test/tint/expressions/binary/add/mat3x3-mat3x3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3x3 const a = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
+  float3x3 const b = float3x3(float3(-1.0f, -2.0f, -3.0f), float3(-4.0f, -5.0f, -6.0f), float3(-7.0f, -8.0f, -9.0f));
+}
diff --git a/test/tint/expressions/binary/add/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ebbb83
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 1.0h;
+  half const b = 2.0h;
+}
diff --git a/test/tint/expressions/binary/add/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b959d37
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 1.0f;
+  float const b = 2.0f;
+}
diff --git a/test/tint/expressions/binary/add/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/add/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/add/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a505df7
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 4.0h;
+  half3 const b = half3(1.0h, 2.0h, 3.0h);
+}
diff --git a/test/tint/expressions/binary/add/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51e1b1b
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 4.0f;
+  float3 const b = float3(1.0f, 2.0f, 3.0f);
+}
diff --git a/test/tint/expressions/binary/add/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..878cca2e6
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 4;
+  int3 const b = int3(1, 2, 3);
+}
diff --git a/test/tint/expressions/binary/add/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f882cb
--- /dev/null
+++ b/test/tint/expressions/binary/add/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 4u;
+  uint3 const b = uint3(1u, 2u, 3u);
+}
diff --git a/test/tint/expressions/binary/add/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9f8e17
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half const b = 4.0h;
+}
diff --git a/test/tint/expressions/binary/add/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5f7496b
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float const b = 4.0f;
+}
diff --git a/test/tint/expressions/binary/add/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a9e3c3
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int const b = 4;
+}
diff --git a/test/tint/expressions/binary/add/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15f8d71
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint const b = 4u;
+}
diff --git a/test/tint/expressions/binary/add/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8ff0a8
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half3 const b = half3(4.0h, 5.0h, 6.0h);
+}
diff --git a/test/tint/expressions/binary/add/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0851e67
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float3 const b = float3(4.0f, 5.0f, 6.0f);
+}
diff --git a/test/tint/expressions/binary/add/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/add/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/add/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/add/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/bit-and/scalar-scalar/bool.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-and/scalar-scalar/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2276dc3
--- /dev/null
+++ b/test/tint/expressions/binary/bit-and/scalar-scalar/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool const a = true;
+  bool const b = false;
+}
diff --git a/test/tint/expressions/binary/bit-and/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-and/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/bit-and/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/bit-and/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-and/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/bit-and/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/bit-and/vec3-vec3/bool.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-and/vec3-vec3/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3b7447d
--- /dev/null
+++ b/test/tint/expressions/binary/bit-and/vec3-vec3/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool3 const a = bool3(true, true, false);
+  bool3 const b = bool3(true, false, true);
+}
diff --git a/test/tint/expressions/binary/bit-and/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-and/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/bit-and/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/bit-and/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-and/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/bit-and/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/bit-or/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-or/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/bit-or/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/bit-or/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-or/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/bit-or/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/bit-or/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-or/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/bit-or/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/bit-or/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-or/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/bit-or/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/bit-xor/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-xor/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/bit-xor/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/bit-xor/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-xor/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/bit-xor/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/bit-xor/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-xor/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/bit-xor/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/bit-xor/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/bit-xor/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/bit-xor/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/div/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ebbb83
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 1.0h;
+  half const b = 2.0h;
+}
diff --git a/test/tint/expressions/binary/div/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b959d37
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 1.0f;
+  float const b = 2.0f;
+}
diff --git a/test/tint/expressions/binary/div/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/div/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/div/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a505df7
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 4.0h;
+  half3 const b = half3(1.0h, 2.0h, 3.0h);
+}
diff --git a/test/tint/expressions/binary/div/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51e1b1b
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 4.0f;
+  float3 const b = float3(1.0f, 2.0f, 3.0f);
+}
diff --git a/test/tint/expressions/binary/div/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..878cca2e6
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 4;
+  int3 const b = int3(1, 2, 3);
+}
diff --git a/test/tint/expressions/binary/div/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f882cb
--- /dev/null
+++ b/test/tint/expressions/binary/div/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 4u;
+  uint3 const b = uint3(1u, 2u, 3u);
+}
diff --git a/test/tint/expressions/binary/div/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9f8e17
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half const b = 4.0h;
+}
diff --git a/test/tint/expressions/binary/div/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5f7496b
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float const b = 4.0f;
+}
diff --git a/test/tint/expressions/binary/div/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a9e3c3
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int const b = 4;
+}
diff --git a/test/tint/expressions/binary/div/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15f8d71
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint const b = 4u;
+}
diff --git a/test/tint/expressions/binary/div/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8ff0a8
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half3 const b = half3(4.0h, 5.0h, 6.0h);
+}
diff --git a/test/tint/expressions/binary/div/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0851e67
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float3 const b = float3(4.0f, 5.0f, 6.0f);
+}
diff --git a/test/tint/expressions/binary/div/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/div/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/div/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f63b8fd
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 1.0h;
+  half const b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..975ccb2
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 1.0f;
+  float const b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a5d4f90
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 0;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7943893
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 0u;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a3947e
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 4.0h;
+  half3 const b = half3(0.0h, 2.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..16b88cc
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 4.0f;
+  float3 const b = float3(0.0f, 2.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bc05a99
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 4;
+  int3 const b = int3(0, 2, 0);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ede1555
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 4u;
+  uint3 const b = uint3(0u, 2u, 0u);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4210527
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half const b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0249176
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float const b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bbc470f
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int const b = 0;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e998022
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint const b = 0u;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8c5d32c
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half3 const b = half3(0.0h, 5.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e3f790d
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float3 const b = float3(0.0f, 5.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3678ad1
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(0, 5, 0);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae81ed3
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(0u, 5u, 0u);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..42d4db2
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half a = 1.0h;
+  half b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4855ca8
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float a = 1.0f;
+  float b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a7840c1
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 1;
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a8e41ca
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 1u;
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a49122d
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half a = 4.0h;
+  half3 b = half3(0.0h, 2.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..60934f0
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float a = 4.0f;
+  float3 b = float3(0.0f, 2.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..214ed33
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 4;
+  int3 b = int3(0, 2, 0);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc3dec0
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 4u;
+  uint3 b = uint3(0u, 2u, 0u);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c2d549
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 a = half3(1.0h, 2.0h, 3.0h);
+  half b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2da5cee
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 a = float3(1.0f, 2.0f, 3.0f);
+  float b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a93d4f1
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cbe9efc
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fdc0b2c
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 a = half3(1.0h, 2.0h, 3.0h);
+  half3 b = half3(0.0h, 5.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6772e01
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 a = float3(1.0f, 2.0f, 3.0f);
+  float3 b = float3(0.0f, 5.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7aa27e
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int3 b = int3(0, 5, 0);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1784f68
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint3 b = uint3(0u, 5u, 0u);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..42d4db2
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half a = 1.0h;
+  half b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4855ca8
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float a = 1.0f;
+  float b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a7840c1
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 1;
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a8e41ca
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 1u;
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a49122d
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half a = 4.0h;
+  half3 b = half3(0.0h, 2.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..60934f0
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float a = 4.0f;
+  float3 b = float3(0.0f, 2.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..214ed33
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 4;
+  int3 b = int3(0, 2, 0);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc3dec0
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 4u;
+  uint3 b = uint3(0u, 2u, 0u);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c2d549
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 a = half3(1.0h, 2.0h, 3.0h);
+  half b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2da5cee
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 a = float3(1.0f, 2.0f, 3.0f);
+  float b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a93d4f1
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cbe9efc
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fdc0b2c
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 a = half3(1.0h, 2.0h, 3.0h);
+  half3 b = half3(0.0h, 5.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6772e01
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 a = float3(1.0f, 2.0f, 3.0f);
+  float3 b = float3(0.0f, 5.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7aa27e
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int3 b = int3(0, 5, 0);
+}
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1784f68
--- /dev/null
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint3 b = uint3(0u, 5u, 0u);
+}
diff --git a/test/tint/expressions/binary/left-shift/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/left-shift/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12bc740
--- /dev/null
+++ b/test/tint/expressions/binary/left-shift/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/left-shift/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/left-shift/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/left-shift/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/left-shift/vector-vector/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/left-shift/vector-vector/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..786f22b
--- /dev/null
+++ b/test/tint/expressions/binary/left-shift/vector-vector/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/left-shift/vector-vector/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/left-shift/vector-vector/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/left-shift/vector-vector/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/mod/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ebbb83
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 1.0h;
+  half const b = 2.0h;
+}
diff --git a/test/tint/expressions/binary/mod/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b959d37
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 1.0f;
+  float const b = 2.0f;
+}
diff --git a/test/tint/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/mod/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a505df7
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 4.0h;
+  half3 const b = half3(1.0h, 2.0h, 3.0h);
+}
diff --git a/test/tint/expressions/binary/mod/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51e1b1b
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 4.0f;
+  float3 const b = float3(1.0f, 2.0f, 3.0f);
+}
diff --git a/test/tint/expressions/binary/mod/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..878cca2e6
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 4;
+  int3 const b = int3(1, 2, 3);
+}
diff --git a/test/tint/expressions/binary/mod/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f882cb
--- /dev/null
+++ b/test/tint/expressions/binary/mod/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 4u;
+  uint3 const b = uint3(1u, 2u, 3u);
+}
diff --git a/test/tint/expressions/binary/mod/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9f8e17
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half const b = 4.0h;
+}
diff --git a/test/tint/expressions/binary/mod/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5f7496b
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float const b = 4.0f;
+}
diff --git a/test/tint/expressions/binary/mod/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a9e3c3
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int const b = 4;
+}
diff --git a/test/tint/expressions/binary/mod/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15f8d71
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint const b = 4u;
+}
diff --git a/test/tint/expressions/binary/mod/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8ff0a8
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half3 const b = half3(4.0h, 5.0h, 6.0h);
+}
diff --git a/test/tint/expressions/binary/mod/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0851e67
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float3 const b = float3(4.0f, 5.0f, 6.0f);
+}
diff --git a/test/tint/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/mod/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/mod/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f63b8fd
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 1.0h;
+  half const b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..975ccb2
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 1.0f;
+  float const b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a5d4f90
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 0;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7943893
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 0u;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bc05a99
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 4;
+  int3 const b = int3(0, 2, 0);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ede1555
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 4u;
+  uint3 const b = uint3(0u, 2u, 0u);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bbc470f
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int const b = 0;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e998022
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint const b = 0u;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8c5d32c
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half3 const b = half3(0.0h, 5.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e3f790d
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float3 const b = float3(0.0f, 5.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3678ad1
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(0, 5, 0);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae81ed3
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(0u, 5u, 0u);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..42d4db2
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half a = 1.0h;
+  half b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4855ca8
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float a = 1.0f;
+  float b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a7840c1
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 1;
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a8e41ca
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 1u;
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..214ed33
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 4;
+  int3 b = int3(0, 2, 0);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc3dec0
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 4u;
+  uint3 b = uint3(0u, 2u, 0u);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a93d4f1
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cbe9efc
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fdc0b2c
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 a = half3(1.0h, 2.0h, 3.0h);
+  half3 b = half3(0.0h, 5.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6772e01
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 a = float3(1.0f, 2.0f, 3.0f);
+  float3 b = float3(0.0f, 5.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7aa27e
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int3 b = int3(0, 5, 0);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1784f68
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint3 b = uint3(0u, 5u, 0u);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..42d4db2
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half a = 1.0h;
+  half b = 0.0h;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4855ca8
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float a = 1.0f;
+  float b = 0.0f;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a7840c1
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 1;
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a8e41ca
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 1u;
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..214ed33
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 4;
+  int3 b = int3(0, 2, 0);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc3dec0
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint a = 4u;
+  uint3 b = uint3(0u, 2u, 0u);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a93d4f1
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int b = 0;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cbe9efc
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint b = 0u;
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fdc0b2c
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 a = half3(1.0h, 2.0h, 3.0h);
+  half3 b = half3(0.0h, 5.0h, 0.0h);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6772e01
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 a = float3(1.0f, 2.0f, 3.0f);
+  float3 b = float3(0.0f, 5.0f, 0.0f);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7aa27e
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 a = int3(1, 2, 3);
+  int3 b = int3(0, 5, 0);
+}
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1784f68
--- /dev/null
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 a = uint3(1u, 2u, 3u);
+  uint3 b = uint3(0u, 5u, 0u);
+}
diff --git a/test/tint/expressions/binary/mul/mat2x4-mat4x2/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/mat2x4-mat4x2/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38d35d4
--- /dev/null
+++ b/test/tint/expressions/binary/mul/mat2x4-mat4x2/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2x4 const a = half2x4(half4(1.0h, 2.0h, 3.0h, 4.0h), half4(5.0h, 6.0h, 7.0h, 8.0h));
+  half4x2 const b = half4x2(half2(-1.0h, -2.0h), half2(-3.0h, -4.0h), half2(-5.0h, -6.0h), half2(-7.0h, -8.0h));
+}
diff --git a/test/tint/expressions/binary/mul/mat2x4-mat4x2/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/mat2x4-mat4x2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e6331b8
--- /dev/null
+++ b/test/tint/expressions/binary/mul/mat2x4-mat4x2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2x4 const a = float2x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f));
+  float4x2 const b = float4x2(float2(-1.0f, -2.0f), float2(-3.0f, -4.0f), float2(-5.0f, -6.0f), float2(-7.0f, -8.0f));
+}
diff --git a/test/tint/expressions/binary/mul/mat3x3-mat3x3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/mat3x3-mat3x3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d6c3ec1
--- /dev/null
+++ b/test/tint/expressions/binary/mul/mat3x3-mat3x3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3x3 const a = half3x3(half3(1.0h, 2.0h, 3.0h), half3(4.0h, 5.0h, 6.0h), half3(7.0h, 8.0h, 9.0h));
+  half3x3 const b = half3x3(half3(-1.0h, -2.0h, -3.0h), half3(-4.0h, -5.0h, -6.0h), half3(-7.0h, -8.0h, -9.0h));
+}
diff --git a/test/tint/expressions/binary/mul/mat3x3-mat3x3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/mat3x3-mat3x3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1172bde
--- /dev/null
+++ b/test/tint/expressions/binary/mul/mat3x3-mat3x3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3x3 const a = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
+  float3x3 const b = float3x3(float3(-1.0f, -2.0f, -3.0f), float3(-4.0f, -5.0f, -6.0f), float3(-7.0f, -8.0f, -9.0f));
+}
diff --git a/test/tint/expressions/binary/mul/mat4x2-mat2x4/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/mat4x2-mat2x4/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..85374b1
--- /dev/null
+++ b/test/tint/expressions/binary/mul/mat4x2-mat2x4/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4x2 const a = half4x2(half2(-1.0h, -2.0h), half2(-3.0h, -4.0h), half2(-5.0h, -6.0h), half2(-7.0h, -8.0h));
+  half2x4 const b = half2x4(half4(1.0h, 2.0h, 3.0h, 4.0h), half4(5.0h, 6.0h, 7.0h, 8.0h));
+}
diff --git a/test/tint/expressions/binary/mul/mat4x2-mat2x4/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/mat4x2-mat2x4/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a59737
--- /dev/null
+++ b/test/tint/expressions/binary/mul/mat4x2-mat2x4/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4x2 const a = float4x2(float2(-1.0f, -2.0f), float2(-3.0f, -4.0f), float2(-5.0f, -6.0f), float2(-7.0f, -8.0f));
+  float2x4 const b = float2x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f));
+}
diff --git a/test/tint/expressions/binary/mul/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ebbb83
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 1.0h;
+  half const b = 2.0h;
+}
diff --git a/test/tint/expressions/binary/mul/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b959d37
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 1.0f;
+  float const b = 2.0f;
+}
diff --git a/test/tint/expressions/binary/mul/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/mul/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/mul/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a505df7
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 4.0h;
+  half3 const b = half3(1.0h, 2.0h, 3.0h);
+}
diff --git a/test/tint/expressions/binary/mul/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51e1b1b
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 4.0f;
+  float3 const b = float3(1.0f, 2.0f, 3.0f);
+}
diff --git a/test/tint/expressions/binary/mul/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..878cca2e6
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 4;
+  int3 const b = int3(1, 2, 3);
+}
diff --git a/test/tint/expressions/binary/mul/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f882cb
--- /dev/null
+++ b/test/tint/expressions/binary/mul/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 4u;
+  uint3 const b = uint3(1u, 2u, 3u);
+}
diff --git a/test/tint/expressions/binary/mul/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9f8e17
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half const b = 4.0h;
+}
diff --git a/test/tint/expressions/binary/mul/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5f7496b
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float const b = 4.0f;
+}
diff --git a/test/tint/expressions/binary/mul/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a9e3c3
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int const b = 4;
+}
diff --git a/test/tint/expressions/binary/mul/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15f8d71
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint const b = 4u;
+}
diff --git a/test/tint/expressions/binary/mul/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8ff0a8
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half3 const b = half3(4.0h, 5.0h, 6.0h);
+}
diff --git a/test/tint/expressions/binary/mul/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0851e67
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float3 const b = float3(4.0f, 5.0f, 6.0f);
+}
diff --git a/test/tint/expressions/binary/mul/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/mul/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/mul/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/mul/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/right-shift/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/right-shift/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12bc740
--- /dev/null
+++ b/test/tint/expressions/binary/right-shift/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/right-shift/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/right-shift/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/right-shift/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/right-shift/vector-vector/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/right-shift/vector-vector/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..786f22b
--- /dev/null
+++ b/test/tint/expressions/binary/right-shift/vector-vector/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/right-shift/vector-vector/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/right-shift/vector-vector/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/right-shift/vector-vector/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/binary/sub/mat3x3-mat3x3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/mat3x3-mat3x3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d6c3ec1
--- /dev/null
+++ b/test/tint/expressions/binary/sub/mat3x3-mat3x3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3x3 const a = half3x3(half3(1.0h, 2.0h, 3.0h), half3(4.0h, 5.0h, 6.0h), half3(7.0h, 8.0h, 9.0h));
+  half3x3 const b = half3x3(half3(-1.0h, -2.0h, -3.0h), half3(-4.0h, -5.0h, -6.0h), half3(-7.0h, -8.0h, -9.0h));
+}
diff --git a/test/tint/expressions/binary/sub/mat3x3-mat3x3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/mat3x3-mat3x3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1172bde
--- /dev/null
+++ b/test/tint/expressions/binary/sub/mat3x3-mat3x3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3x3 const a = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
+  float3x3 const b = float3x3(float3(-1.0f, -2.0f, -3.0f), float3(-4.0f, -5.0f, -6.0f), float3(-7.0f, -8.0f, -9.0f));
+}
diff --git a/test/tint/expressions/binary/sub/scalar-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ebbb83
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 1.0h;
+  half const b = 2.0h;
+}
diff --git a/test/tint/expressions/binary/sub/scalar-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b959d37
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 1.0f;
+  float const b = 2.0f;
+}
diff --git a/test/tint/expressions/binary/sub/scalar-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba1693
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const b = 2;
+}
diff --git a/test/tint/expressions/binary/sub/scalar-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd56cad
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 1u;
+  uint const b = 2u;
+}
diff --git a/test/tint/expressions/binary/sub/scalar-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a505df7
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const a = 4.0h;
+  half3 const b = half3(1.0h, 2.0h, 3.0h);
+}
diff --git a/test/tint/expressions/binary/sub/scalar-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51e1b1b
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const a = 4.0f;
+  float3 const b = float3(1.0f, 2.0f, 3.0f);
+}
diff --git a/test/tint/expressions/binary/sub/scalar-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..878cca2e6
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 4;
+  int3 const b = int3(1, 2, 3);
+}
diff --git a/test/tint/expressions/binary/sub/scalar-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/scalar-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f882cb
--- /dev/null
+++ b/test/tint/expressions/binary/sub/scalar-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const a = 4u;
+  uint3 const b = uint3(1u, 2u, 3u);
+}
diff --git a/test/tint/expressions/binary/sub/vec3-scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9f8e17
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half const b = 4.0h;
+}
diff --git a/test/tint/expressions/binary/sub/vec3-scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5f7496b
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float const b = 4.0f;
+}
diff --git a/test/tint/expressions/binary/sub/vec3-scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a9e3c3
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int const b = 4;
+}
diff --git a/test/tint/expressions/binary/sub/vec3-scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15f8d71
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint const b = 4u;
+}
diff --git a/test/tint/expressions/binary/sub/vec3-vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8ff0a8
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const a = half3(1.0h, 2.0h, 3.0h);
+  half3 const b = half3(4.0h, 5.0h, 6.0h);
+}
diff --git a/test/tint/expressions/binary/sub/vec3-vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0851e67
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const a = float3(1.0f, 2.0f, 3.0f);
+  float3 const b = float3(4.0f, 5.0f, 6.0f);
+}
diff --git a/test/tint/expressions/binary/sub/vec3-vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5041ed9
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const a = int3(1, 2, 3);
+  int3 const b = int3(4, 5, 6);
+}
diff --git a/test/tint/expressions/binary/sub/vec3-vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/binary/sub/vec3-vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..685f22d
--- /dev/null
+++ b/test/tint/expressions/binary/sub/vec3-vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const a = uint3(1u, 2u, 3u);
+  uint3 const b = uint3(4u, 5u, 6u);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9065780
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4 const b = float4(2.003662109375f, -513.03125f, -1024.25f, 0.00169684563297778368f);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dac3cc1
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int4 const b = int4(1073757184, -1006616064, -998242304, 987654321);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ec8122
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4f32-vec4u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint4 const b = uint4(1073757184u, 3288351232u, 3296724992u, 987654321u);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9065780
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4 const b = float4(2.003662109375f, -513.03125f, -1024.25f, 0.00169684563297778368f);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dac3cc1
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int4 const b = int4(1073757184, -1006616064, -998242304, 987654321);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ec8122
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4i32-vec4u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint4 const b = uint4(1073757184u, 3288351232u, 3296724992u, 987654321u);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9065780
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4 const b = float4(2.003662109375f, -513.03125f, -1024.25f, 0.00169684563297778368f);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dac3cc1
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int4 const b = int4(1073757184, -1006616064, -998242304, 987654321);
+}
diff --git a/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ec8122
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/128bit/vec4u32-vec4u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint4 const b = uint4(1073757184u, 3288351232u, 3296724992u, 987654321u);
+}
diff --git a/test/tint/expressions/bitcast/const/16bit/f16-f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/16bit/f16-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..243c681
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/16bit/f16-f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half const b = 1.0h;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/f32-f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/f32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c651f7
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/f32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const b = 2.003662109375f;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/f32-i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/f32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39045e6
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/f32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const b = 1073757184;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/f32-u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/f32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b76edda
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/f32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const b = 1073757184u;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/f32-vec2f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/f32-vec2f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f061333
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/f32-vec2f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2 const b = half2(1.0h, 2.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/i32-f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/i32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c651f7
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/i32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const b = 2.003662109375f;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/i32-i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/i32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39045e6
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/i32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const b = 1073757184;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/i32-u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/i32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b76edda
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/i32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const b = 1073757184u;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/i32-vec2f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/i32-vec2f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f061333
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/i32-vec2f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2 const b = half2(1.0h, 2.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/i32min-u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/i32min-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..33316aa
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/i32min-u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const b = 2147483648u;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/u32-f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/u32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c651f7
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/u32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const b = 2.003662109375f;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/u32-i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/u32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39045e6
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/u32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const b = 1073757184;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/u32-u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/u32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b76edda
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/u32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const b = 1073757184u;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/u32-vec2f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/u32-vec2f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f061333
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/u32-vec2f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2 const b = half2(1.0h, 2.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/vec2f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c651f7
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float const b = 2.003662109375f;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/vec2f16-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39045e6
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const b = 1073757184;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/vec2f16-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b76edda
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint const b = 1073757184u;
+}
diff --git a/test/tint/expressions/bitcast/const/32bit/vec2f16-vec2f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/32bit/vec2f16-vec2f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f061333
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/32bit/vec2f16-vec2f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2 const b = half2(1.0h, 2.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/48bit/vec3f16-vec3f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/48bit/vec3f16-vec3f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..438f49c
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/48bit/vec3f16-vec3f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 const b = half3(1.0h, 2.0h, 3.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c1d109
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2 const b = float2(2.003662109375f, -513.03125f);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b8e61b
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int2 const b = int2(1073757184, -1006616064);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8b43e6e
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec2u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint2 const b = uint2(1073757184u, 3288351232u);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2f32-vec4f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec4f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..86b7889
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2f32-vec4f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4 const b = half4(1.0h, 2.0h, 3.0h, -4.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c1d109
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2 const b = float2(2.003662109375f, -513.03125f);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b8e61b
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int2 const b = int2(1073757184, -1006616064);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8b43e6e
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec2u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint2 const b = uint2(1073757184u, 3288351232u);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2i32-vec4f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec4f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..86b7889
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2i32-vec4f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4 const b = half4(1.0h, 2.0h, 3.0h, -4.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c1d109
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2 const b = float2(2.003662109375f, -513.03125f);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b8e61b
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int2 const b = int2(1073757184, -1006616064);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8b43e6e
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec2u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint2 const b = uint2(1073757184u, 3288351232u);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec2u32-vec4f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec4f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..86b7889
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec2u32-vec4f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4 const b = half4(1.0h, 2.0h, 3.0h, -4.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c1d109
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2 const b = float2(2.003662109375f, -513.03125f);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b8e61b
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int2 const b = int2(1073757184, -1006616064);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8b43e6e
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec2u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint2 const b = uint2(1073757184u, 3288351232u);
+}
diff --git a/test/tint/expressions/bitcast/const/64bit/vec4f16-vec4f16.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec4f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..86b7889
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/64bit/vec4f16-vec4f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4 const b = half4(1.0h, 2.0h, 3.0h, -4.0h);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e508f2f
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const b = float3(2.003662109375f, -513.03125f, -1024.25f);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4d37f26
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const b = int3(1073757184, -1006616064, -998242304);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9d17503
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3f32-vec3u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const b = uint3(1073757184u, 3288351232u, 3296724992u);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e508f2f
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const b = float3(2.003662109375f, -513.03125f, -1024.25f);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4d37f26
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const b = int3(1073757184, -1006616064, -998242304);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9d17503
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3i32-vec3u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const b = uint3(1073757184u, 3288351232u, 3296724992u);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3f32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e508f2f
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 const b = float3(2.003662109375f, -513.03125f, -1024.25f);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3i32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4d37f26
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 const b = int3(1073757184, -1006616064, -998242304);
+}
diff --git a/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3u32.wgsl.expected.ir.msl b/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9d17503
--- /dev/null
+++ b/test/tint/expressions/bitcast/const/96bit/vec3u32-vec3u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 const b = uint3(1073757184u, 3288351232u, 3296724992u);
+}
diff --git a/test/tint/expressions/literals/intmin.wgsl.expected.ir.msl b/test/tint/expressions/literals/intmin.wgsl.expected.ir.msl
new file mode 100644
index 0000000..007aa7f
--- /dev/null
+++ b/test/tint/expressions/literals/intmin.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+int add_int_min_explicit() {
+  int a = (-2147483647 - 1);
+  int b = (a + 1);
+  int c = -2147483647;
+  return c;
+}
diff --git a/test/tint/expressions/splat/expression/bool.wgsl.expected.ir.msl b/test/tint/expressions/splat/expression/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..07df88b
--- /dev/null
+++ b/test/tint/expressions/splat/expression/bool.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool2 v2 = bool2(true);
+  bool3 v3 = bool3(true);
+  bool4 v4 = bool4(true);
+}
diff --git a/test/tint/expressions/splat/expression/f16.wgsl.expected.ir.msl b/test/tint/expressions/splat/expression/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bd97013
--- /dev/null
+++ b/test/tint/expressions/splat/expression/f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2 v2 = half2(3.0h);
+  half3 v3 = half3(3.0h);
+  half4 v4 = half4(3.0h);
+}
diff --git a/test/tint/expressions/splat/expression/f32.wgsl.expected.ir.msl b/test/tint/expressions/splat/expression/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c043256
--- /dev/null
+++ b/test/tint/expressions/splat/expression/f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2 v2 = float2(3.0f);
+  float3 v3 = float3(3.0f);
+  float4 v4 = float4(3.0f);
+}
diff --git a/test/tint/expressions/splat/expression/i32.wgsl.expected.ir.msl b/test/tint/expressions/splat/expression/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c5437ef
--- /dev/null
+++ b/test/tint/expressions/splat/expression/i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int2 v2 = int2(3);
+  int3 v3 = int3(3);
+  int4 v4 = int4(3);
+}
diff --git a/test/tint/expressions/splat/expression/u32.wgsl.expected.ir.msl b/test/tint/expressions/splat/expression/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4f6ce54
--- /dev/null
+++ b/test/tint/expressions/splat/expression/u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint2 v2 = uint2(3u);
+  uint3 v3 = uint3(3u);
+  uint4 v4 = uint4(3u);
+}
diff --git a/test/tint/expressions/splat/immediate/bool.wgsl.expected.ir.msl b/test/tint/expressions/splat/immediate/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..07df88b
--- /dev/null
+++ b/test/tint/expressions/splat/immediate/bool.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool2 v2 = bool2(true);
+  bool3 v3 = bool3(true);
+  bool4 v4 = bool4(true);
+}
diff --git a/test/tint/expressions/splat/immediate/f16.wgsl.expected.ir.msl b/test/tint/expressions/splat/immediate/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7487402
--- /dev/null
+++ b/test/tint/expressions/splat/immediate/f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2 v2 = half2(1.0h);
+  half3 v3 = half3(1.0h);
+  half4 v4 = half4(1.0h);
+}
diff --git a/test/tint/expressions/splat/immediate/f32.wgsl.expected.ir.msl b/test/tint/expressions/splat/immediate/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4c04a5d
--- /dev/null
+++ b/test/tint/expressions/splat/immediate/f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2 v2 = float2(1.0f);
+  float3 v3 = float3(1.0f);
+  float4 v4 = float4(1.0f);
+}
diff --git a/test/tint/expressions/splat/immediate/i32.wgsl.expected.ir.msl b/test/tint/expressions/splat/immediate/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d13ea0f
--- /dev/null
+++ b/test/tint/expressions/splat/immediate/i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int2 v2 = int2(1);
+  int3 v3 = int3(1);
+  int4 v4 = int4(1);
+}
diff --git a/test/tint/expressions/splat/immediate/u32.wgsl.expected.ir.msl b/test/tint/expressions/splat/immediate/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d4136cf
--- /dev/null
+++ b/test/tint/expressions/splat/immediate/u32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint2 v2 = uint2(1u);
+  uint3 v3 = uint3(1u);
+  uint4 v4 = uint4(1u);
+}
diff --git a/test/tint/expressions/splat/var/bool.wgsl.expected.ir.msl b/test/tint/expressions/splat/var/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cfe4b5d
--- /dev/null
+++ b/test/tint/expressions/splat/var/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool v = true;
+  bool2 v2 = bool2(v);
+  bool3 v3 = bool3(v);
+  bool4 v4 = bool4(v);
+}
diff --git a/test/tint/expressions/splat/var/f16.wgsl.expected.ir.msl b/test/tint/expressions/splat/var/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b6bcd3
--- /dev/null
+++ b/test/tint/expressions/splat/var/f16.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half v = 3.0h;
+  half2 v2 = half2(v);
+  half3 v3 = half3(v);
+  half4 v4 = half4(v);
+}
diff --git a/test/tint/expressions/splat/var/f32.wgsl.expected.ir.msl b/test/tint/expressions/splat/var/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1a00596
--- /dev/null
+++ b/test/tint/expressions/splat/var/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float v = 3.0f;
+  float2 v2 = float2(v);
+  float3 v3 = float3(v);
+  float4 v4 = float4(v);
+}
diff --git a/test/tint/expressions/splat/var/i32.wgsl.expected.ir.msl b/test/tint/expressions/splat/var/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b5d9367
--- /dev/null
+++ b/test/tint/expressions/splat/var/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int v = 3;
+  int2 v2 = int2(v);
+  int3 v3 = int3(v);
+  int4 v4 = int4(v);
+}
diff --git a/test/tint/expressions/splat/var/u32.wgsl.expected.ir.msl b/test/tint/expressions/splat/var/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..07a73af
--- /dev/null
+++ b/test/tint/expressions/splat/var/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint v = 3u;
+  uint2 v2 = uint2(v);
+  uint3 v3 = uint3(v);
+  uint4 v4 = uint4(v);
+}
diff --git a/test/tint/expressions/splat/with_swizzle/f16.wgsl.expected.ir.msl b/test/tint/expressions/splat/with_swizzle/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f4c8c9d
--- /dev/null
+++ b/test/tint/expressions/splat/with_swizzle/f16.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half a = 1.0h;
+  half b = 1.0h;
+  half c = 1.0h;
+}
diff --git a/test/tint/expressions/splat/with_swizzle/f32.wgsl.expected.ir.msl b/test/tint/expressions/splat/with_swizzle/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e5d5442
--- /dev/null
+++ b/test/tint/expressions/splat/with_swizzle/f32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float a = 1.0f;
+  float b = 1.0f;
+  float c = 1.0f;
+}
diff --git a/test/tint/expressions/type_conv/mat2x2/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat2x2/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f476304
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat2x2/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2x2 u = float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f));
diff --git a/test/tint/expressions/type_conv/mat2x2/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat2x2/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..32c02a5
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat2x2/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2x2 u = half2x2(half2(1.0h, 2.0h), half2(3.0h, 4.0h));
diff --git a/test/tint/expressions/type_conv/mat2x3/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat2x3/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e275a8b
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat2x3/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2x3 u = float2x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f));
diff --git a/test/tint/expressions/type_conv/mat2x3/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat2x3/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..112f78c
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat2x3/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2x3 u = half2x3(half3(1.0h, 2.0h, 3.0h), half3(4.0h, 5.0h, 6.0h));
diff --git a/test/tint/expressions/type_conv/mat2x4/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat2x4/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4989270
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat2x4/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2x4 u = float2x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f));
diff --git a/test/tint/expressions/type_conv/mat2x4/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat2x4/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5e79b85
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat2x4/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2x4 u = half2x4(half4(1.0h, 2.0h, 3.0h, 4.0h), half4(5.0h, 6.0h, 7.0h, 8.0h));
diff --git a/test/tint/expressions/type_conv/mat3x2/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat3x2/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..109ca80
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat3x2/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3x2 u = float3x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f));
diff --git a/test/tint/expressions/type_conv/mat3x2/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat3x2/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7f3eb76
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat3x2/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3x2 u = half3x2(half2(1.0h, 2.0h), half2(3.0h, 4.0h), half2(5.0h, 6.0h));
diff --git a/test/tint/expressions/type_conv/mat3x3/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat3x3/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98944b6
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat3x3/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3x3 u = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
diff --git a/test/tint/expressions/type_conv/mat3x3/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat3x3/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7f70be3
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat3x3/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3x3 u = half3x3(half3(1.0h, 2.0h, 3.0h), half3(4.0h, 5.0h, 6.0h), half3(7.0h, 8.0h, 9.0h));
diff --git a/test/tint/expressions/type_conv/mat3x4/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat3x4/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6a0cf8e
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat3x4/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3x4 u = float3x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f), float4(9.0f, 10.0f, 11.0f, 12.0f));
diff --git a/test/tint/expressions/type_conv/mat3x4/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat3x4/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9edd653
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat3x4/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3x4 u = half3x4(half4(1.0h, 2.0h, 3.0h, 4.0h), half4(5.0h, 6.0h, 7.0h, 8.0h), half4(9.0h, 10.0h, 11.0h, 12.0h));
diff --git a/test/tint/expressions/type_conv/mat4x2/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat4x2/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eea749f
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat4x2/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4x2 u = float4x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f), float2(7.0f, 8.0f));
diff --git a/test/tint/expressions/type_conv/mat4x2/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat4x2/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..30e3527
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat4x2/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4x2 u = half4x2(half2(1.0h, 2.0h), half2(3.0h, 4.0h), half2(5.0h, 6.0h), half2(7.0h, 8.0h));
diff --git a/test/tint/expressions/type_conv/mat4x3/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat4x3/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..67a2e51
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat4x3/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4x3 u = float4x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f), float3(10.0f, 11.0f, 12.0f));
diff --git a/test/tint/expressions/type_conv/mat4x3/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat4x3/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ffb2c81
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat4x3/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4x3 u = half4x3(half3(1.0h, 2.0h, 3.0h), half3(4.0h, 5.0h, 6.0h), half3(7.0h, 8.0h, 9.0h), half3(10.0h, 11.0h, 12.0h));
diff --git a/test/tint/expressions/type_conv/mat4x4/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat4x4/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..675c2ec
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat4x4/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4x4 u = float4x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f), float4(9.0f, 10.0f, 11.0f, 12.0f), float4(13.0f, 14.0f, 15.0f, 16.0f));
diff --git a/test/tint/expressions/type_conv/mat4x4/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/mat4x4/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1b90074
--- /dev/null
+++ b/test/tint/expressions/type_conv/mat4x4/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4x4 u = half4x4(half4(1.0h, 2.0h, 3.0h, 4.0h), half4(5.0h, 6.0h, 7.0h, 8.0h), half4(9.0h, 10.0h, 11.0h, 12.0h), half4(13.0h, 14.0h, 15.0h, 16.0h));
diff --git a/test/tint/expressions/type_conv/scalar/literal/bool-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/bool-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..570be9b
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/bool-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half u = 1.0h;
diff --git a/test/tint/expressions/type_conv/scalar/literal/bool-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/bool-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9db9db8
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/bool-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float u = 1.0f;
diff --git a/test/tint/expressions/type_conv/scalar/literal/bool-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/bool-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..47bca0d
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/bool-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int u = 1;
diff --git a/test/tint/expressions/type_conv/scalar/literal/bool-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/bool-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3126801
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/bool-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint u = 1u;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f16-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c4b1953
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool u = true;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9db9db8
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float u = 1.0f;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f16-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..47bca0d
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int u = 1;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f16-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f16-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3126801
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f16-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint u = 1u;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c4b1953
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool u = true;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..570be9b
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half u = 1.0h;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..47bca0d
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int u = 1;
diff --git a/test/tint/expressions/type_conv/scalar/literal/f32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/f32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3126801
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/f32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint u = 1u;
diff --git a/test/tint/expressions/type_conv/scalar/literal/i32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/i32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c4b1953
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/i32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool u = true;
diff --git a/test/tint/expressions/type_conv/scalar/literal/i32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/i32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..570be9b
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/i32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half u = 1.0h;
diff --git a/test/tint/expressions/type_conv/scalar/literal/i32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/i32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9db9db8
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/i32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float u = 1.0f;
diff --git a/test/tint/expressions/type_conv/scalar/literal/i32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/i32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3126801
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/i32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint u = 1u;
diff --git a/test/tint/expressions/type_conv/scalar/literal/u32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/u32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c4b1953
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/u32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool u = true;
diff --git a/test/tint/expressions/type_conv/scalar/literal/u32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/u32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..570be9b
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/u32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half u = 1.0h;
diff --git a/test/tint/expressions/type_conv/scalar/literal/u32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/u32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9db9db8
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/u32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float u = 1.0f;
diff --git a/test/tint/expressions/type_conv/scalar/literal/u32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/scalar/literal/u32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..47bca0d
--- /dev/null
+++ b/test/tint/expressions/type_conv/scalar/literal/u32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int u = 1;
diff --git a/test/tint/expressions/type_conv/vec2/literal/bool-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/bool-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bf2352
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/bool-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2 u = half2(1.0h);
diff --git a/test/tint/expressions/type_conv/vec2/literal/bool-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/bool-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b470051
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/bool-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 u = float2(1.0f);
diff --git a/test/tint/expressions/type_conv/vec2/literal/bool-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/bool-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a32b883
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/bool-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int2 u = int2(1);
diff --git a/test/tint/expressions/type_conv/vec2/literal/bool-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/bool-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6bfac8e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/bool-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint2 u = uint2(1u);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f16-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a616059
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool2 u = bool2(true);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b470051
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 u = float2(1.0f);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f16-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a32b883
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int2 u = int2(1);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f16-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f16-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6bfac8e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f16-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint2 u = uint2(1u);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a616059
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool2 u = bool2(true);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bf2352
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2 u = half2(1.0h);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a32b883
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int2 u = int2(1);
diff --git a/test/tint/expressions/type_conv/vec2/literal/f32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/f32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6bfac8e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/f32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint2 u = uint2(1u);
diff --git a/test/tint/expressions/type_conv/vec2/literal/i32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/i32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a616059
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/i32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool2 u = bool2(true);
diff --git a/test/tint/expressions/type_conv/vec2/literal/i32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/i32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bf2352
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/i32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2 u = half2(1.0h);
diff --git a/test/tint/expressions/type_conv/vec2/literal/i32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/i32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b470051
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/i32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 u = float2(1.0f);
diff --git a/test/tint/expressions/type_conv/vec2/literal/i32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/i32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6bfac8e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/i32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint2 u = uint2(1u);
diff --git a/test/tint/expressions/type_conv/vec2/literal/u32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/u32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a616059
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/u32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool2 u = bool2(true);
diff --git a/test/tint/expressions/type_conv/vec2/literal/u32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/u32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bf2352
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/u32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2 u = half2(1.0h);
diff --git a/test/tint/expressions/type_conv/vec2/literal/u32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/u32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b470051
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/u32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 u = float2(1.0f);
diff --git a/test/tint/expressions/type_conv/vec2/literal/u32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec2/literal/u32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a32b883
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec2/literal/u32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int2 u = int2(1);
diff --git a/test/tint/expressions/type_conv/vec3/literal/bool-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/bool-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1fe00b9
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/bool-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3 u = half3(1.0h);
diff --git a/test/tint/expressions/type_conv/vec3/literal/bool-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/bool-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b47b481
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/bool-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 u = float3(1.0f);
diff --git a/test/tint/expressions/type_conv/vec3/literal/bool-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/bool-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c2d75f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/bool-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 u = int3(1);
diff --git a/test/tint/expressions/type_conv/vec3/literal/bool-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/bool-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ac08e95
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/bool-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint3 u = uint3(1u);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f16-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9256549
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool3 u = bool3(true);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b47b481
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 u = float3(1.0f);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f16-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c2d75f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 u = int3(1);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f16-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f16-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ac08e95
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f16-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint3 u = uint3(1u);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9256549
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool3 u = bool3(true);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1fe00b9
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3 u = half3(1.0h);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c2d75f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 u = int3(1);
diff --git a/test/tint/expressions/type_conv/vec3/literal/f32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/f32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ac08e95
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/f32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint3 u = uint3(1u);
diff --git a/test/tint/expressions/type_conv/vec3/literal/i32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/i32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9256549
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/i32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool3 u = bool3(true);
diff --git a/test/tint/expressions/type_conv/vec3/literal/i32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/i32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1fe00b9
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/i32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3 u = half3(1.0h);
diff --git a/test/tint/expressions/type_conv/vec3/literal/i32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/i32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b47b481
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/i32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 u = float3(1.0f);
diff --git a/test/tint/expressions/type_conv/vec3/literal/i32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/i32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ac08e95
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/i32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint3 u = uint3(1u);
diff --git a/test/tint/expressions/type_conv/vec3/literal/u32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/u32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9256549
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/u32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool3 u = bool3(true);
diff --git a/test/tint/expressions/type_conv/vec3/literal/u32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/u32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1fe00b9
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/u32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3 u = half3(1.0h);
diff --git a/test/tint/expressions/type_conv/vec3/literal/u32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/u32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b47b481
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/u32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 u = float3(1.0f);
diff --git a/test/tint/expressions/type_conv/vec3/literal/u32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec3/literal/u32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c2d75f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec3/literal/u32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 u = int3(1);
diff --git a/test/tint/expressions/type_conv/vec4/literal/bool-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/bool-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d9d594
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/bool-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4 u = half4(1.0h);
diff --git a/test/tint/expressions/type_conv/vec4/literal/bool-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/bool-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a87ee3f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/bool-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 u = float4(1.0f);
diff --git a/test/tint/expressions/type_conv/vec4/literal/bool-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/bool-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..785cd97
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/bool-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int4 u = int4(1);
diff --git a/test/tint/expressions/type_conv/vec4/literal/bool-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/bool-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1e3c40
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/bool-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint4 u = uint4(1u);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f16-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df7652e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool4 u = bool4(true);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f16-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a87ee3f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 u = float4(1.0f);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f16-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..785cd97
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int4 u = int4(1);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f16-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f16-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1e3c40
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f16-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint4 u = uint4(1u);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df7652e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool4 u = bool4(true);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d9d594
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4 u = half4(1.0h);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..785cd97
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int4 u = int4(1);
diff --git a/test/tint/expressions/type_conv/vec4/literal/f32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/f32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1e3c40
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/f32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint4 u = uint4(1u);
diff --git a/test/tint/expressions/type_conv/vec4/literal/i32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/i32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df7652e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/i32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool4 u = bool4(true);
diff --git a/test/tint/expressions/type_conv/vec4/literal/i32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/i32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d9d594
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/i32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4 u = half4(1.0h);
diff --git a/test/tint/expressions/type_conv/vec4/literal/i32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/i32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a87ee3f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/i32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 u = float4(1.0f);
diff --git a/test/tint/expressions/type_conv/vec4/literal/i32-u32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/i32-u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1e3c40
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/i32-u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint4 u = uint4(1u);
diff --git a/test/tint/expressions/type_conv/vec4/literal/u32-bool.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/u32-bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df7652e
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/u32-bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool4 u = bool4(true);
diff --git a/test/tint/expressions/type_conv/vec4/literal/u32-f16.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/u32-f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d9d594
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/u32-f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4 u = half4(1.0h);
diff --git a/test/tint/expressions/type_conv/vec4/literal/u32-f32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/u32-f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a87ee3f
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/u32-f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 u = float4(1.0f);
diff --git a/test/tint/expressions/type_conv/vec4/literal/u32-i32.wgsl.expected.ir.msl b/test/tint/expressions/type_conv/vec4/literal/u32-i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..785cd97
--- /dev/null
+++ b/test/tint/expressions/type_conv/vec4/literal/u32-i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int4 u = int4(1);
diff --git a/test/tint/expressions/type_ctor/array/explicit/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9a8928
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float, 2> arr = tint_array<float, 2>{1.0f, 2.0f};
+void f() {
+  tint_array<float, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/array/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/array/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..308730b
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/array/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<tint_array<float, 2>, 2> arr = tint_array<tint_array<float, 2>, 2>{tint_array<float, 2>{1.0f, 2.0f}, tint_array<float, 2>{3.0f, 4.0f}};
+void f() {
+  tint_array<tint_array<float, 2>, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/array/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/array/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..308730b
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/array/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<tint_array<float, 2>, 2> arr = tint_array<tint_array<float, 2>, 2>{tint_array<float, 2>{1.0f, 2.0f}, tint_array<float, 2>{3.0f, 4.0f}};
+void f() {
+  tint_array<tint_array<float, 2>, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9a8928
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float, 2> arr = tint_array<float, 2>{1.0f, 2.0f};
+void f() {
+  tint_array<float, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff91c2d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<int, 2> arr = tint_array<int, 2>{1, 2};
+void f() {
+  tint_array<int, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/mat2x2/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/mat2x2/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eebeaad
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/mat2x2/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2x2, 2> arr = tint_array<float2x2, 2>{float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f)), float2x2(float2(5.0f, 6.0f), float2(7.0f, 8.0f))};
+void f() {
+  tint_array<float2x2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/mat2x2/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/mat2x2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eebeaad
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/mat2x2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2x2, 2> arr = tint_array<float2x2, 2>{float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f)), float2x2(float2(5.0f, 6.0f), float2(7.0f, 8.0f))};
+void f() {
+  tint_array<float2x2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c73df8
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/u32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<uint, 2> arr = tint_array<uint, 2>{1u, 2u};
+void f() {
+  tint_array<uint, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/vec2/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/vec2/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe1c892
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/vec2/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2, 2> arr = tint_array<float2, 2>{float2(1.0f), float2(2.0f)};
+void f() {
+  tint_array<float2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/vec2/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/vec2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe1c892
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/vec2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2, 2> arr = tint_array<float2, 2>{float2(1.0f), float2(2.0f)};
+void f() {
+  tint_array<float2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/vec2/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/vec2/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44f2746
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/vec2/i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<int2, 2> arr = tint_array<int2, 2>{int2(1), int2(2)};
+void f() {
+  tint_array<int2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/explicit/vec2/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/explicit/vec2/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e7de8f2
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/explicit/vec2/u32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<uint2, 2> arr = tint_array<uint2, 2>{uint2(1u), uint2(2u)};
+void f() {
+  tint_array<uint2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff91c2d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<int, 2> arr = tint_array<int, 2>{1, 2};
+void f() {
+  tint_array<int, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/array/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/array/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6373c40
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/array/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<tint_array<int, 2>, 2> arr = tint_array<tint_array<int, 2>, 2>{tint_array<int, 2>{1, 2}, tint_array<int, 2>{3, 4}};
+void f() {
+  tint_array<tint_array<int, 2>, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/array/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/array/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..308730b
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/array/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<tint_array<float, 2>, 2> arr = tint_array<tint_array<float, 2>, 2>{tint_array<float, 2>{1.0f, 2.0f}, tint_array<float, 2>{3.0f, 4.0f}};
+void f() {
+  tint_array<tint_array<float, 2>, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9a8928
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float, 2> arr = tint_array<float, 2>{1.0f, 2.0f};
+void f() {
+  tint_array<float, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff91c2d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<int, 2> arr = tint_array<int, 2>{1, 2};
+void f() {
+  tint_array<int, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/mat2x2/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/mat2x2/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eebeaad
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/mat2x2/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2x2, 2> arr = tint_array<float2x2, 2>{float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f)), float2x2(float2(5.0f, 6.0f), float2(7.0f, 8.0f))};
+void f() {
+  tint_array<float2x2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/mat2x2/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/mat2x2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eebeaad
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/mat2x2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2x2, 2> arr = tint_array<float2x2, 2>{float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f)), float2x2(float2(5.0f, 6.0f), float2(7.0f, 8.0f))};
+void f() {
+  tint_array<float2x2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c73df8
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/u32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<uint, 2> arr = tint_array<uint, 2>{1u, 2u};
+void f() {
+  tint_array<uint, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/vec2/abstract.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/vec2/abstract.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe1c892
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/vec2/abstract.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2, 2> arr = tint_array<float2, 2>{float2(1.0f), float2(2.0f)};
+void f() {
+  tint_array<float2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/vec2/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/vec2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe1c892
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/vec2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<float2, 2> arr = tint_array<float2, 2>{float2(1.0f), float2(2.0f)};
+void f() {
+  tint_array<float2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/vec2/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/vec2/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44f2746
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/vec2/i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<int2, 2> arr = tint_array<int2, 2>{int2(1), int2(2)};
+void f() {
+  tint_array<int2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/array/inferred/vec2/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/array/inferred/vec2/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e7de8f2
--- /dev/null
+++ b/test/tint/expressions/type_ctor/array/inferred/vec2/u32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<uint2, 2> arr = tint_array<uint2, 2>{uint2(1u), uint2(2u)};
+void f() {
+  tint_array<uint2, 2> v = arr;
+}
diff --git a/test/tint/expressions/type_ctor/vec2/explicit/bool.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/explicit/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..33cf2d8
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/explicit/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool2 v = bool2(false, true);
diff --git a/test/tint/expressions/type_ctor/vec2/explicit/f16.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/explicit/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1159ffb
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/explicit/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2 v = half2(0.0h, 1.0h);
diff --git a/test/tint/expressions/type_ctor/vec2/explicit/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/explicit/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..956ec80
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/explicit/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 v = float2(0.0f, 1.0f);
diff --git a/test/tint/expressions/type_ctor/vec2/explicit/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/explicit/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0ddb857
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/explicit/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int2 v = int2(0, 1);
diff --git a/test/tint/expressions/type_ctor/vec2/explicit/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/explicit/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ece0809
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/explicit/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint2 v = uint2(0u, 1u);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/abstract-float.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/abstract-float.wgsl.expected.ir.msl
new file mode 100644
index 0000000..956ec80
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/abstract-float.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 v = float2(0.0f, 1.0f);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/abstract-int.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/abstract-int.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0ddb857
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/abstract-int.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int2 v = int2(0, 1);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/bool.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..33cf2d8
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool2 v = bool2(false, true);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/f16.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1159ffb
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half2 v = half2(0.0h, 1.0h);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..956ec80
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 v = float2(0.0f, 1.0f);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0ddb857
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int2 v = int2(0, 1);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ece0809
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint2 v = uint2(0u, 1u);
diff --git a/test/tint/expressions/type_ctor/vec2/inferred/zero.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec2/inferred/zero.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1254737
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec2/inferred/zero.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2 f = float2(0.0f);
+thread int2 i = int2(0);
+thread uint2 u = uint2(0u);
diff --git a/test/tint/expressions/type_ctor/vec3/explicit/bool.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/explicit/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..885d513
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/explicit/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool3 v = bool3(false, true, false);
diff --git a/test/tint/expressions/type_ctor/vec3/explicit/f16.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/explicit/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0cb8cf8
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/explicit/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3 v = half3(0.0h, 1.0h, 2.0h);
diff --git a/test/tint/expressions/type_ctor/vec3/explicit/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/explicit/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4101d05
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/explicit/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 v = float3(0.0f, 1.0f, 2.0f);
diff --git a/test/tint/expressions/type_ctor/vec3/explicit/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/explicit/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b49329d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/explicit/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 v = int3(0, 1, 2);
diff --git a/test/tint/expressions/type_ctor/vec3/explicit/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/explicit/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4815de2
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/explicit/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint3 v = uint3(0u, 1u, 2u);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/abstract-float.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/abstract-float.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4101d05
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/abstract-float.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 v = float3(0.0f, 1.0f, 2.0f);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/abstract-int.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/abstract-int.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b49329d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/abstract-int.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 v = int3(0, 1, 2);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/bool.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..885d513
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool3 v = bool3(false, true, false);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/f16.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0cb8cf8
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half3 v = half3(0.0h, 1.0h, 2.0h);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4101d05
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 v = float3(0.0f, 1.0f, 2.0f);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b49329d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 v = int3(0, 1, 2);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4815de2
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint3 v = uint3(0u, 1u, 2u);
diff --git a/test/tint/expressions/type_ctor/vec3/inferred/zero.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec3/inferred/zero.wgsl.expected.ir.msl
new file mode 100644
index 0000000..93371a1
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec3/inferred/zero.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float3 f = float3(0.0f);
+thread int3 i = int3(0);
+thread uint3 u = uint3(0u);
diff --git a/test/tint/expressions/type_ctor/vec4/explicit/bool.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/explicit/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a81db9
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/explicit/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool4 v = bool4(false, true, false, true);
diff --git a/test/tint/expressions/type_ctor/vec4/explicit/f16.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/explicit/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6847244
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/explicit/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4 v = half4(0.0h, 1.0h, 2.0h, 3.0h);
diff --git a/test/tint/expressions/type_ctor/vec4/explicit/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/explicit/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c24508
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/explicit/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 v = float4(0.0f, 1.0f, 2.0f, 3.0f);
diff --git a/test/tint/expressions/type_ctor/vec4/explicit/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/explicit/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d90e99d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/explicit/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int4 v = int4(0, 1, 2, 3);
diff --git a/test/tint/expressions/type_ctor/vec4/explicit/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/explicit/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..65cdb85
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/explicit/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint4 v = uint4(0u, 1u, 2u, 3u);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/abstract-float.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/abstract-float.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c24508
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/abstract-float.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 v = float4(0.0f, 1.0f, 2.0f, 3.0f);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/abstract-int.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/abstract-int.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d90e99d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/abstract-int.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int4 v = int4(0, 1, 2, 3);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/bool.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a81db9
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread bool4 v = bool4(false, true, false, true);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/f16.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6847244
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread half4 v = half4(0.0h, 1.0h, 2.0h, 3.0h);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/f32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c24508
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 v = float4(0.0f, 1.0f, 2.0f, 3.0f);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/i32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d90e99d
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int4 v = int4(0, 1, 2, 3);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/u32.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..65cdb85
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread uint4 v = uint4(0u, 1u, 2u, 3u);
diff --git a/test/tint/expressions/type_ctor/vec4/inferred/zero.wgsl.expected.ir.msl b/test/tint/expressions/type_ctor/vec4/inferred/zero.wgsl.expected.ir.msl
new file mode 100644
index 0000000..acd7234
--- /dev/null
+++ b/test/tint/expressions/type_ctor/vec4/inferred/zero.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float4 f = float4(0.0f);
+thread int4 i = int4(0);
+thread uint4 u = uint4(0u);
diff --git a/test/tint/expressions/zero_init/array/bool.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/array/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7b18978
--- /dev/null
+++ b/test/tint/expressions/zero_init/array/bool.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void f() {
+  tint_array<bool, 4> v = tint_array<bool, 4>{};
+}
diff --git a/test/tint/expressions/zero_init/array/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/array/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f80962a
--- /dev/null
+++ b/test/tint/expressions/zero_init/array/f16.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void f() {
+  tint_array<half, 4> v = tint_array<half, 4>{};
+}
diff --git a/test/tint/expressions/zero_init/array/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/array/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ab928ca
--- /dev/null
+++ b/test/tint/expressions/zero_init/array/f32.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void f() {
+  tint_array<float, 4> v = tint_array<float, 4>{};
+}
diff --git a/test/tint/expressions/zero_init/array/i32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/array/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e67c14d
--- /dev/null
+++ b/test/tint/expressions/zero_init/array/i32.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void f() {
+  tint_array<int, 4> v = tint_array<int, 4>{};
+}
diff --git a/test/tint/expressions/zero_init/array/struct.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/array/struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e9cfb41
--- /dev/null
+++ b/test/tint/expressions/zero_init/array/struct.wgsl.expected.ir.msl
@@ -0,0 +1,24 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+struct S {
+  int i;
+  uint u;
+  float f;
+  bool b;
+};
+
+void f() {
+  tint_array<S, 4> v = tint_array<S, 4>{};
+}
diff --git a/test/tint/expressions/zero_init/array/u32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/array/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1e707f2
--- /dev/null
+++ b/test/tint/expressions/zero_init/array/u32.wgsl.expected.ir.msl
@@ -0,0 +1,18 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void f() {
+  tint_array<uint, 4> v = tint_array<uint, 4>{};
+}
diff --git a/test/tint/expressions/zero_init/mat2x2/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat2x2/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..20e741f
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat2x2/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2x2 v = half2x2(half2(0.0h), half2(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat2x2/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat2x2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15c9851
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat2x2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2x2 v = float2x2(float2(0.0f), float2(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat2x3/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat2x3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf004b9
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat2x3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2x3 v = half2x3(half3(0.0h), half3(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat2x3/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat2x3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5589fd0
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat2x3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2x3 v = float2x3(float3(0.0f), float3(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat2x4/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat2x4/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8efc80d
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat2x4/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2x4 v = half2x4(half4(0.0h), half4(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat2x4/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat2x4/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e3c4487
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat2x4/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2x4 v = float2x4(float4(0.0f), float4(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat3x2/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat3x2/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d92b85
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat3x2/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3x2 v = half3x2(half2(0.0h), half2(0.0h), half2(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat3x2/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat3x2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f8a539c
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat3x2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3x2 v = float3x2(float2(0.0f), float2(0.0f), float2(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat3x3/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat3x3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2b0f356
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat3x3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3x3 v = half3x3(half3(0.0h), half3(0.0h), half3(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat3x3/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat3x3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..018a8b2
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat3x3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3x3 v = float3x3(float3(0.0f), float3(0.0f), float3(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat3x4/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat3x4/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9cdc29f
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat3x4/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3x4 v = half3x4(half4(0.0h), half4(0.0h), half4(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat3x4/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat3x4/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8eba2e9
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat3x4/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3x4 v = float3x4(float4(0.0f), float4(0.0f), float4(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat4x2/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat4x2/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e63ca2b
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat4x2/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4x2 v = half4x2(half2(0.0h), half2(0.0h), half2(0.0h), half2(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat4x2/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat4x2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8625f7b
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat4x2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4x2 v = float4x2(float2(0.0f), float2(0.0f), float2(0.0f), float2(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat4x3/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat4x3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2be2722
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat4x3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4x3 v = half4x3(half3(0.0h), half3(0.0h), half3(0.0h), half3(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat4x3/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat4x3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fb4affc
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat4x3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4x3 v = float4x3(float3(0.0f), float3(0.0f), float3(0.0f), float3(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/mat4x4/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat4x4/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..49689f4
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat4x4/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4x4 v = half4x4(half4(0.0h), half4(0.0h), half4(0.0h), half4(0.0h));
+}
diff --git a/test/tint/expressions/zero_init/mat4x4/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/mat4x4/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2ae2e2
--- /dev/null
+++ b/test/tint/expressions/zero_init/mat4x4/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4x4 v = float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f));
+}
diff --git a/test/tint/expressions/zero_init/scalar/bool.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/scalar/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..48a4cdc
--- /dev/null
+++ b/test/tint/expressions/zero_init/scalar/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool v = false;
+}
diff --git a/test/tint/expressions/zero_init/scalar/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/scalar/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..449b000
--- /dev/null
+++ b/test/tint/expressions/zero_init/scalar/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half v = 0.0h;
+}
diff --git a/test/tint/expressions/zero_init/scalar/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/scalar/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ac5b307
--- /dev/null
+++ b/test/tint/expressions/zero_init/scalar/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float v = 0.0f;
+}
diff --git a/test/tint/expressions/zero_init/scalar/i32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/scalar/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..316baf2
--- /dev/null
+++ b/test/tint/expressions/zero_init/scalar/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int v = 0;
+}
diff --git a/test/tint/expressions/zero_init/scalar/u32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/scalar/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e7474dc
--- /dev/null
+++ b/test/tint/expressions/zero_init/scalar/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint v = 0u;
+}
diff --git a/test/tint/expressions/zero_init/struct/array.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/struct/array.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3dc63d9
--- /dev/null
+++ b/test/tint/expressions/zero_init/struct/array.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+struct S {
+  tint_array<float, 4> a;
+};
+
+void f() {
+  S v = S{};
+}
diff --git a/test/tint/expressions/zero_init/struct/scalar.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/struct/scalar.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c51bc92
--- /dev/null
+++ b/test/tint/expressions/zero_init/struct/scalar.wgsl.expected.ir.msl
@@ -0,0 +1,12 @@
+#include <metal_stdlib>
+using namespace metal;
+struct S {
+  int i;
+  uint u;
+  float f;
+  bool b;
+};
+
+void f() {
+  S v = S{};
+}
diff --git a/test/tint/expressions/zero_init/vec2/bool.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec2/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..17979a514b
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec2/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool2 v = bool2(false);
+}
diff --git a/test/tint/expressions/zero_init/vec2/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec2/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..14aea75
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec2/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half2 v = half2(0.0h);
+}
diff --git a/test/tint/expressions/zero_init/vec2/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec2/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d4e8511
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec2/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float2 v = float2(0.0f);
+}
diff --git a/test/tint/expressions/zero_init/vec2/i32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec2/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..62dcdd6
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec2/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int2 v = int2(0);
+}
diff --git a/test/tint/expressions/zero_init/vec2/u32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec2/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3e2bbf9
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec2/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint2 v = uint2(0u);
+}
diff --git a/test/tint/expressions/zero_init/vec3/bool.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec3/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9a00c1e
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec3/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool3 v = bool3(false);
+}
diff --git a/test/tint/expressions/zero_init/vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec3/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8fd1974
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec3/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half3 v = half3(0.0h);
+}
diff --git a/test/tint/expressions/zero_init/vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec3/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf2e3c4
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec3/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float3 v = float3(0.0f);
+}
diff --git a/test/tint/expressions/zero_init/vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec3/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1d7dcce
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec3/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int3 v = int3(0);
+}
diff --git a/test/tint/expressions/zero_init/vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec3/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dc9783f
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec3/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint3 v = uint3(0u);
+}
diff --git a/test/tint/expressions/zero_init/vec4/bool.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec4/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..db5ba6d
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec4/bool.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  bool4 v = bool4(false);
+}
diff --git a/test/tint/expressions/zero_init/vec4/f16.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec4/f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d5a9b87
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec4/f16.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  half4 v = half4(0.0h);
+}
diff --git a/test/tint/expressions/zero_init/vec4/f32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec4/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..09d47b3
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec4/f32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  float4 v = float4(0.0f);
+}
diff --git a/test/tint/expressions/zero_init/vec4/i32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec4/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ec6f2b6
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec4/i32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int4 v = int4(0);
+}
diff --git a/test/tint/expressions/zero_init/vec4/u32.wgsl.expected.ir.msl b/test/tint/expressions/zero_init/vec4/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f365b12
--- /dev/null
+++ b/test/tint/expressions/zero_init/vec4/u32.wgsl.expected.ir.msl
@@ -0,0 +1,6 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  uint4 v = uint4(0u);
+}
diff --git a/test/tint/extensions/parsing/basic.wgsl.expected.ir.msl b/test/tint/extensions/parsing/basic.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8afe5ea
--- /dev/null
+++ b/test/tint/extensions/parsing/basic.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(0.10000000149011611938f, 0.20000000298023223877f, 0.30000001192092895508f, 0.40000000596046447754f);
+}
diff --git a/test/tint/extensions/parsing/duplicated_extensions.wgsl.expected.ir.msl b/test/tint/extensions/parsing/duplicated_extensions.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8afe5ea
--- /dev/null
+++ b/test/tint/extensions/parsing/duplicated_extensions.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(0.10000000149011611938f, 0.20000000298023223877f, 0.30000001192092895508f, 0.40000000596046447754f);
+}
diff --git a/test/tint/extensions/parsing/multiple.wgsl.expected.ir.msl b/test/tint/extensions/parsing/multiple.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8afe5ea
--- /dev/null
+++ b/test/tint/extensions/parsing/multiple.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(0.10000000149011611938f, 0.20000000298023223877f, 0.30000001192092895508f, 0.40000000596046447754f);
+}
diff --git a/test/tint/identifiers/underscore/double/alias.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/double/alias.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e815e60
--- /dev/null
+++ b/test/tint/identifiers/underscore/double/alias.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int c = 0;
+  int d = 0;
+}
diff --git a/test/tint/identifiers/underscore/double/const.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/double/const.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f7ec1f
--- /dev/null
+++ b/test/tint/identifiers/underscore/double/const.wgsl.expected.ir.msl
@@ -0,0 +1,5 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+}
diff --git a/test/tint/identifiers/underscore/double/let.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/double/let.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1fb355b
--- /dev/null
+++ b/test/tint/identifiers/underscore/double/let.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const a__ = a;
+  int const b = a;
+  int const b__ = a__;
+}
diff --git a/test/tint/identifiers/underscore/double/var.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/double/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5ff7f9f
--- /dev/null
+++ b/test/tint/identifiers/underscore/double/var.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int a = 1;
+thread int a__ = 2;
+void f() {
+  int b = a;
+  int b__ = a__;
+}
diff --git a/test/tint/identifiers/underscore/prefix/lower/alias.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/prefix/lower/alias.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e815e60
--- /dev/null
+++ b/test/tint/identifiers/underscore/prefix/lower/alias.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int c = 0;
+  int d = 0;
+}
diff --git a/test/tint/identifiers/underscore/prefix/lower/const.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/prefix/lower/const.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f7ec1f
--- /dev/null
+++ b/test/tint/identifiers/underscore/prefix/lower/const.wgsl.expected.ir.msl
@@ -0,0 +1,5 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+}
diff --git a/test/tint/identifiers/underscore/prefix/lower/let.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/prefix/lower/let.wgsl.expected.ir.msl
new file mode 100644
index 0000000..41a3f3d
--- /dev/null
+++ b/test/tint/identifiers/underscore/prefix/lower/let.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 1;
+  int const _a = a;
+  int const b = a;
+  int const _b = _a;
+}
diff --git a/test/tint/identifiers/underscore/prefix/lower/var.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/prefix/lower/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f00abbc
--- /dev/null
+++ b/test/tint/identifiers/underscore/prefix/lower/var.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int a = 1;
+thread int _a = 2;
+void f() {
+  int b = a;
+  int _b = _a;
+}
diff --git a/test/tint/identifiers/underscore/prefix/upper/alias.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/prefix/upper/alias.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e815e60
--- /dev/null
+++ b/test/tint/identifiers/underscore/prefix/upper/alias.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int c = 0;
+  int d = 0;
+}
diff --git a/test/tint/identifiers/underscore/prefix/upper/let.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/prefix/upper/let.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ec0d03b
--- /dev/null
+++ b/test/tint/identifiers/underscore/prefix/upper/let.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const A = 1;
+  int const _A = 2;
+  int const B = A;
+  int const _B = _A;
+}
diff --git a/test/tint/identifiers/underscore/prefix/upper/var.wgsl.expected.ir.msl b/test/tint/identifiers/underscore/prefix/upper/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a588ec6
--- /dev/null
+++ b/test/tint/identifiers/underscore/prefix/upper/var.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int A = 1;
+thread int _A = 2;
+void f() {
+  int B = A;
+  int _B = _A;
+}
diff --git a/test/tint/out_of_order_decls/alias/alias.wgsl.expected.ir.msl b/test/tint/out_of_order_decls/alias/alias.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aad034a
--- /dev/null
+++ b/test/tint/out_of_order_decls/alias/alias.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int v = 0;
+}
diff --git a/test/tint/out_of_order_decls/alias/struct.wgsl.expected.ir.msl b/test/tint/out_of_order_decls/alias/struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b8b71b7
--- /dev/null
+++ b/test/tint/out_of_order_decls/alias/struct.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct S {
+  int m;
+};
+
+void f() {
+  S v = {};
+}
diff --git a/test/tint/out_of_order_decls/func/const.wgsl.expected.ir.msl b/test/tint/out_of_order_decls/func/const.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e7fbdcc
--- /dev/null
+++ b/test/tint/out_of_order_decls/func/const.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+}
diff --git a/test/tint/out_of_order_decls/func/type.wgsl.expected.ir.msl b/test/tint/out_of_order_decls/func/type.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7cc9d6d
--- /dev/null
+++ b/test/tint/out_of_order_decls/func/type.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int b = 0;
+}
diff --git a/test/tint/out_of_order_decls/func/var.wgsl.expected.ir.msl b/test/tint/out_of_order_decls/func/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c23e22
--- /dev/null
+++ b/test/tint/out_of_order_decls/func/var.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int a = 1;
+void f() {
+}
diff --git a/test/tint/out_of_order_decls/struct/alias.wgsl.expected.ir.msl b/test/tint/out_of_order_decls/struct/alias.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b8b71b7
--- /dev/null
+++ b/test/tint/out_of_order_decls/struct/alias.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct S {
+  int m;
+};
+
+void f() {
+  S v = {};
+}
diff --git a/test/tint/out_of_order_decls/struct/struct.wgsl.expected.ir.msl b/test/tint/out_of_order_decls/struct/struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7fe5789
--- /dev/null
+++ b/test/tint/out_of_order_decls/struct/struct.wgsl.expected.ir.msl
@@ -0,0 +1,14 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct S2 {
+  int m;
+};
+struct S1 {
+  S2 m;
+};
+
+void f() {
+  S1 v = {};
+}
diff --git a/test/tint/ptr_ref/load/global/i32.wgsl.expected.ir.msl b/test/tint/ptr_ref/load/global/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c81019f
--- /dev/null
+++ b/test/tint/ptr_ref/load/global/i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int I = 0;
+void tint_symbol() {
+}
diff --git a/test/tint/ptr_ref/load/local/i32.wgsl.expected.ir.msl b/test/tint/ptr_ref/load/local/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1b87c5d
--- /dev/null
+++ b/test/tint/ptr_ref/load/local/i32.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  int i = 123;
+}
diff --git a/test/tint/ptr_ref/load/local/ptr_function.wgsl.expected.ir.msl b/test/tint/ptr_ref/load/local/ptr_function.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5cf693f
--- /dev/null
+++ b/test/tint/ptr_ref/load/local/ptr_function.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  int i = 123;
+  thread int* const p = i;
+}
diff --git a/test/tint/ptr_ref/load/local/ptr_private.wgsl.expected.ir.msl b/test/tint/ptr_ref/load/local/ptr_private.wgsl.expected.ir.msl
new file mode 100644
index 0000000..14bee98
--- /dev/null
+++ b/test/tint/ptr_ref/load/local/ptr_private.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int i = 123;
+void tint_symbol() {
+  thread int* const p = i;
+}
diff --git a/test/tint/samples/function.wgsl.expected.ir.msl b/test/tint/samples/function.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1d8502
--- /dev/null
+++ b/test/tint/samples/function.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float tint_symbol() {
+  return 0.40000000596046447754f;
+}
+void ep() {
+}
diff --git a/test/tint/shader_io/compute_workgroup_expression.wgsl.expected.ir.msl b/test/tint/shader_io/compute_workgroup_expression.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f925a33
--- /dev/null
+++ b/test/tint/shader_io/compute_workgroup_expression.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+}
diff --git a/test/tint/shader_io/fragment_output_builtins.wgsl.expected.ir.msl b/test/tint/shader_io/fragment_output_builtins.wgsl.expected.ir.msl
new file mode 100644
index 0000000..03541c4
--- /dev/null
+++ b/test/tint/shader_io/fragment_output_builtins.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float main1() {
+  return 1.0f;
+}
+uint main2() {
+  return 1u;
+}
diff --git a/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.msl b/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f5855e
--- /dev/null
+++ b/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.msl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct FragmentOutputs {
+  float frag_depth [[depth(any)]];
+  uint sample_mask [[sample_mask]];
+};
+
+FragmentOutputs tint_symbol() {
+  return FragmentOutputs{.frag_depth=1.0f, .sample_mask=1u};
+}
diff --git a/test/tint/shader_io/fragment_output_locations.wgsl.expected.ir.msl b/test/tint/shader_io/fragment_output_locations.wgsl.expected.ir.msl
new file mode 100644
index 0000000..abc6fa0
--- /dev/null
+++ b/test/tint/shader_io/fragment_output_locations.wgsl.expected.ir.msl
@@ -0,0 +1,17 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+int main0() {
+  return 1;
+}
+uint main1() {
+  return 1u;
+}
+float main2() {
+  return 1.0f;
+}
+float4 main3() {
+  return float4(1.0f, 2.0f, 3.0f, 4.0f);
+}
diff --git a/test/tint/shader_io/fragment_output_locations_f16.wgsl.expected.ir.msl b/test/tint/shader_io/fragment_output_locations_f16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0b35440
--- /dev/null
+++ b/test/tint/shader_io/fragment_output_locations_f16.wgsl.expected.ir.msl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+int main0() {
+  return 1;
+}
+uint main1() {
+  return 1u;
+}
+float main2() {
+  return 1.0f;
+}
+float4 main3() {
+  return float4(1.0f, 2.0f, 3.0f, 4.0f);
+}
+half main4() {
+  return 2.25h;
+}
+half3 main5() {
+  return half3(3.0h, 5.0h, 8.0h);
+}
diff --git a/test/tint/shader_io/interpolate_input_parameters.wgsl.expected.ir.msl b/test/tint/shader_io/interpolate_input_parameters.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f925a33
--- /dev/null
+++ b/test/tint/shader_io/interpolate_input_parameters.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+}
diff --git a/test/tint/shader_io/interpolate_input_struct.wgsl.expected.ir.msl b/test/tint/shader_io/interpolate_input_struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f925a33
--- /dev/null
+++ b/test/tint/shader_io/interpolate_input_struct.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+}
diff --git a/test/tint/shader_io/invariant.wgsl.expected.ir.msl b/test/tint/shader_io/invariant.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9618b5e
--- /dev/null
+++ b/test/tint/shader_io/invariant.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(0.0f);
+}
diff --git a/test/tint/shader_io/invariant_struct_member.wgsl.expected.ir.msl b/test/tint/shader_io/invariant_struct_member.wgsl.expected.ir.msl
new file mode 100644
index 0000000..db7f2fc
--- /dev/null
+++ b/test/tint/shader_io/invariant_struct_member.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct Out {
+  float4 pos [[position]] TINT_INVARIANT;
+};
+
+Out tint_symbol() {
+  return Out{};
+}
diff --git a/test/tint/shader_io/vertex_input_builtins.wgsl.expected.ir.msl b/test/tint/shader_io/vertex_input_builtins.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9618b5e
--- /dev/null
+++ b/test/tint/shader_io/vertex_input_builtins.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(0.0f);
+}
diff --git a/test/tint/shader_io/vertex_output_builtins.wgsl.expected.ir.msl b/test/tint/shader_io/vertex_output_builtins.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8b02b62
--- /dev/null
+++ b/test/tint/shader_io/vertex_output_builtins.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(1.0f, 2.0f, 3.0f, 4.0f);
+}
diff --git a/test/tint/shader_io/vertex_output_builtins_struct.wgsl.expected.ir.msl b/test/tint/shader_io/vertex_output_builtins_struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1b0e192
--- /dev/null
+++ b/test/tint/shader_io/vertex_output_builtins_struct.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+struct VertexOutputs {
+  float4 position [[position]];
+};
+
+VertexOutputs tint_symbol() {
+  return VertexOutputs{.position=float4(1.0f, 2.0f, 3.0f, 4.0f)};
+}
diff --git a/test/tint/shadowing/alias/const.wgsl.expected.ir.msl b/test/tint/shadowing/alias/const.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f7ec1f
--- /dev/null
+++ b/test/tint/shadowing/alias/const.wgsl.expected.ir.msl
@@ -0,0 +1,5 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+}
diff --git a/test/tint/shadowing/alias/let.wgsl.expected.ir.msl b/test/tint/shadowing/alias/let.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ccc0c2
--- /dev/null
+++ b/test/tint/shadowing/alias/let.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const a = 0;
+  int const b = a;
+  int const a = 0;
+  int const b = a;
+}
diff --git a/test/tint/shadowing/alias/var.wgsl.expected.ir.msl b/test/tint/shadowing/alias/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d76e035
--- /dev/null
+++ b/test/tint/shadowing/alias/var.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int a = 0;
+  int b = a;
+  int a = 0;
+  int b = a;
+}
diff --git a/test/tint/shadowing/function/let.wgsl.expected.ir.msl b/test/tint/shadowing/function/let.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c523995
--- /dev/null
+++ b/test/tint/shadowing/function/let.wgsl.expected.ir.msl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void a() {
+  int a = 1;
+  int b = a;
+  int const a = 1;
+  int const b = a;
+}
diff --git a/test/tint/shadowing/function/var.wgsl.expected.ir.msl b/test/tint/shadowing/function/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3def775
--- /dev/null
+++ b/test/tint/shadowing/function/var.wgsl.expected.ir.msl
@@ -0,0 +1,14 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct a {
+  int a;
+};
+
+void f() {
+  a a = a{};
+  a b = a;
+  a a = a{};
+  a b = a;
+}
diff --git a/test/tint/shadowing/short_names/const.wgsl.expected.ir.msl b/test/tint/shadowing/short_names/const.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f7ec1f
--- /dev/null
+++ b/test/tint/shadowing/short_names/const.wgsl.expected.ir.msl
@@ -0,0 +1,5 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+}
diff --git a/test/tint/shadowing/short_names/let.wgsl.expected.ir.msl b/test/tint/shadowing/short_names/let.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4dd58b4
--- /dev/null
+++ b/test/tint/shadowing/short_names/let.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int const vec3f = 1;
+  int const b = vec3f;
+  float3 const c = float3(0.0f);
+  float3 const d = float3(0.0f);
+}
diff --git a/test/tint/shadowing/short_names/renamer/renamer.wgsl.expected.ir.msl b/test/tint/shadowing/short_names/renamer/renamer.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7be8f30
--- /dev/null
+++ b/test/tint/shadowing/short_names/renamer/renamer.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(0.0f, 0.0f, 0.0f, 1.0f);
+}
diff --git a/test/tint/shadowing/short_names/var.wgsl.expected.ir.msl b/test/tint/shadowing/short_names/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..68ae9d9
--- /dev/null
+++ b/test/tint/shadowing/short_names/var.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+#include <metal_stdlib>
+using namespace metal;
+
+void f() {
+  int vec3f = 1;
+  int b = vec3f;
+  float3 c = float3(0.0f);
+  float3 d = float3(0.0f);
+}
diff --git a/test/tint/shadowing/struct/let.wgsl.expected.ir.msl b/test/tint/shadowing/struct/let.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2660268
--- /dev/null
+++ b/test/tint/shadowing/struct/let.wgsl.expected.ir.msl
@@ -0,0 +1,14 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct a {
+  int a;
+};
+
+void f() {
+  a const a = a{};
+  a const b = a;
+  a const a = a{};
+  a const b = a;
+}
diff --git a/test/tint/shadowing/struct/var.wgsl.expected.ir.msl b/test/tint/shadowing/struct/var.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3def775
--- /dev/null
+++ b/test/tint/shadowing/struct/var.wgsl.expected.ir.msl
@@ -0,0 +1,14 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct a {
+  int a;
+};
+
+void f() {
+  a a = a{};
+  a b = a;
+  a a = a{};
+  a b = a;
+}
diff --git a/test/tint/types/function_scope_declarations.wgsl.expected.ir.msl b/test/tint/types/function_scope_declarations.wgsl.expected.ir.msl
new file mode 100644
index 0000000..73340f8
--- /dev/null
+++ b/test/tint/types/function_scope_declarations.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+struct S {
+  float a;
+};
+
+void tint_symbol() {
+  bool bool_var = false;
+  bool const bool_let = false;
+  int i32_var = 0;
+  int const i32_let = 0;
+  uint u32_var = 0u;
+  uint const u32_let = 0u;
+  float f32_var = 0.0f;
+  float const f32_let = 0.0f;
+  int2 v2i32_var = int2(0);
+  int2 const v2i32_let = int2(0);
+  uint3 v3u32_var = uint3(0u);
+  uint3 const v3u32_let = uint3(0u);
+  float4 v4f32_var = float4(0.0f);
+  float4 const v4f32_let = float4(0.0f);
+  float2x3 m2x3_var = float2x3(float3(0.0f), float3(0.0f));
+  float3x4 const m3x4_let = float3x4(float4(0.0f), float4(0.0f), float4(0.0f));
+  tint_array<float, 4> arr_var = tint_array<float, 4>{};
+  tint_array<float, 4> const arr_let = tint_array<float, 4>{};
+  S struct_var = S{};
+  S const struct_let = S{};
+  thread float* const ptr_f32 = f32_var;
+  thread float4* const ptr_vec = v4f32_var;
+  thread tint_array<float, 4>* const ptr_arr = arr_var;
+}
diff --git a/test/tint/types/function_scope_var_conversions.wgsl.expected.ir.msl b/test/tint/types/function_scope_var_conversions.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3d27582
--- /dev/null
+++ b/test/tint/types/function_scope_var_conversions.wgsl.expected.ir.msl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void constant_with_non_constant() {
+  float a = 0.0f;
+  float2 b = float2(1.0f, a);
+}
+void tint_symbol() {
+  bool bool_var1 = true;
+  bool bool_var2 = true;
+  bool bool_var3 = true;
+  int i32_var1 = 123;
+  int i32_var2 = 123;
+  int i32_var3 = 1;
+  uint u32_var1 = 123u;
+  uint u32_var2 = 123u;
+  uint u32_var3 = 1u;
+  bool3 v3bool_var1 = bool3(true);
+  bool3 v3bool_var11 = bool3(true);
+  bool3 v3bool_var2 = bool3(true);
+  bool3 v3bool_var3 = bool3(true);
+  int3 v3i32_var1 = int3(123);
+  int3 v3i32_var2 = int3(123);
+  int3 v3i32_var3 = int3(1);
+  uint3 v3u32_var1 = uint3(123u);
+  uint3 v3u32_var2 = uint3(123u);
+  uint3 v3u32_var3 = uint3(1u);
+  bool3 v3bool_var4 = bool3(true);
+  bool4 v4bool_var5 = bool4(true, false, true, false);
+}
diff --git a/test/tint/types/module_scope_const.wgsl.expected.ir.msl b/test/tint/types/module_scope_const.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f925a33
--- /dev/null
+++ b/test/tint/types/module_scope_const.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+}
diff --git a/test/tint/types/parameters.wgsl.expected.ir.msl b/test/tint/types/parameters.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eb3a832
--- /dev/null
+++ b/test/tint/types/parameters.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void foo() {
+}
+void tint_symbol() {
+}
diff --git a/test/tint/types/return_types.wgsl.expected.ir.msl b/test/tint/types/return_types.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e2c3aef
--- /dev/null
+++ b/test/tint/types/return_types.wgsl.expected.ir.msl
@@ -0,0 +1,52 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+struct S {
+  float a;
+};
+
+bool ret_bool() {
+  return false;
+}
+int ret_i32() {
+  return 0;
+}
+uint ret_u32() {
+  return 0u;
+}
+float ret_f32() {
+  return 0.0f;
+}
+int2 ret_v2i32() {
+  return int2(0);
+}
+uint3 ret_v3u32() {
+  return uint3(0u);
+}
+float4 ret_v4f32() {
+  return float4(0.0f);
+}
+float2x3 ret_m2x3() {
+  return float2x3(float3(0.0f), float3(0.0f));
+}
+tint_array<float, 4> ret_arr() {
+  return tint_array<float, 4>{};
+}
+S ret_struct() {
+  return S{};
+}
+void tint_symbol() {
+}
diff --git a/test/tint/types/sampler.wgsl.expected.ir.msl b/test/tint/types/sampler.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c3942d3
--- /dev/null
+++ b/test/tint/types/sampler.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+sampler s;
+sampler sc;
+void tint_symbol() {
+}
diff --git a/test/tint/types/short_names/short_names.wgsl.expected.ir.msl b/test/tint/types/short_names/short_names.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7be8f30
--- /dev/null
+++ b/test/tint/types/short_names/short_names.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+float4 tint_symbol() {
+  return float4(0.0f, 0.0f, 0.0f, 1.0f);
+}
diff --git a/test/tint/types/struct_members.wgsl.expected.ir.msl b/test/tint/types/struct_members.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c5e5a4b
--- /dev/null
+++ b/test/tint/types/struct_members.wgsl.expected.ir.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+struct S_inner {
+  float a;
+};
+struct S {
+  bool member_bool;
+  int member_i32;
+  uint member_u32;
+  float member_f32;
+  int2 member_v2i32;
+  uint3 member_v3u32;
+  float4 member_v4f32;
+  float2x3 member_m2x3;
+  tint_array<float, 4> member_arr;
+  S_inner member_struct;
+};
+
+void tint_symbol() {
+  S const s = S{};
+}
diff --git a/test/tint/types/texture/depth/2d.wgsl.expected.ir.msl b/test/tint/types/texture/depth/2d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df40174
--- /dev/null
+++ b/test/tint/types/texture/depth/2d.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+depth2d<float, access::sample> t_f;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.msl b/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.msl
new file mode 100644
index 0000000..864933a
--- /dev/null
+++ b/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+depth2d_array<float, access::sample> t_f;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/depth/cube.wgsl.expected.ir.msl b/test/tint/types/texture/depth/cube.wgsl.expected.ir.msl
new file mode 100644
index 0000000..35a54bc
--- /dev/null
+++ b/test/tint/types/texture/depth/cube.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+depthcube<float, access::sample> t_f;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.msl b/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae64100
--- /dev/null
+++ b/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+depthcube_array<float, access::sample> t_f;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/multisampled/2d.wgsl.expected.ir.msl b/test/tint/types/texture/multisampled/2d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7a873c5
--- /dev/null
+++ b/test/tint/types/texture/multisampled/2d.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture2d_ms<float, access::read> t_f;
+texture2d_ms<int, access::read> t_i;
+texture2d_ms<uint, access::read> t_u;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/sampled/1d.wgsl.expected.ir.msl b/test/tint/types/texture/sampled/1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..de8963b
--- /dev/null
+++ b/test/tint/types/texture/sampled/1d.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture1d<float, access::sample> t_f;
+texture1d<int, access::sample> t_i;
+texture1d<uint, access::sample> t_u;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/sampled/2d.wgsl.expected.ir.msl b/test/tint/types/texture/sampled/2d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..249fc21
--- /dev/null
+++ b/test/tint/types/texture/sampled/2d.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture2d<float, access::sample> t_f;
+texture2d<int, access::sample> t_i;
+texture2d<uint, access::sample> t_u;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.msl b/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5a91806
--- /dev/null
+++ b/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture2d_array<float, access::sample> t_f;
+texture2d_array<int, access::sample> t_i;
+texture2d_array<uint, access::sample> t_u;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/sampled/3d.wgsl.expected.ir.msl b/test/tint/types/texture/sampled/3d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..16cef6c
--- /dev/null
+++ b/test/tint/types/texture/sampled/3d.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture3d<float, access::sample> t_f;
+texture3d<int, access::sample> t_i;
+texture3d<uint, access::sample> t_u;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/sampled/cube.wgsl.expected.ir.msl b/test/tint/types/texture/sampled/cube.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9be39c
--- /dev/null
+++ b/test/tint/types/texture/sampled/cube.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+#include <metal_stdlib>
+using namespace metal;
+
+texturecube<float, access::sample> t_f;
+texturecube<int, access::sample> t_i;
+texturecube<uint, access::sample> t_u;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.msl b/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.msl
new file mode 100644
index 0000000..773b17f
--- /dev/null
+++ b/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.msl
@@ -0,0 +1,10 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texturecube_array<float, access::sample> t_f;
+texturecube_array<int, access::sample> t_i;
+texturecube_array<uint, access::sample> t_u;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/storage/1d.wgsl.expected.ir.msl b/test/tint/types/texture/storage/1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c2b9c9d
--- /dev/null
+++ b/test/tint/types/texture/storage/1d.wgsl.expected.ir.msl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture1d<float, access::write> t_rgba8unorm;
+texture1d<float, access::write> t_rgba8snorm;
+texture1d<uint, access::write> t_rgba8uint;
+texture1d<int, access::write> t_rgba8sint;
+texture1d<uint, access::write> t_rgba16uint;
+texture1d<int, access::write> t_rgba16sint;
+texture1d<float, access::write> t_rgba16float;
+texture1d<uint, access::write> t_r32uint;
+texture1d<int, access::write> t_r32sint;
+texture1d<float, access::write> t_r32float;
+texture1d<uint, access::write> t_rg32uint;
+texture1d<int, access::write> t_rg32sint;
+texture1d<float, access::write> t_rg32float;
+texture1d<uint, access::write> t_rgba32uint;
+texture1d<int, access::write> t_rgba32sint;
+texture1d<float, access::write> t_rgba32float;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/storage/2d.wgsl.expected.ir.msl b/test/tint/types/texture/storage/2d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..597f501
--- /dev/null
+++ b/test/tint/types/texture/storage/2d.wgsl.expected.ir.msl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture2d<float, access::write> t_rgba8unorm;
+texture2d<float, access::write> t_rgba8snorm;
+texture2d<uint, access::write> t_rgba8uint;
+texture2d<int, access::write> t_rgba8sint;
+texture2d<uint, access::write> t_rgba16uint;
+texture2d<int, access::write> t_rgba16sint;
+texture2d<float, access::write> t_rgba16float;
+texture2d<uint, access::write> t_r32uint;
+texture2d<int, access::write> t_r32sint;
+texture2d<float, access::write> t_r32float;
+texture2d<uint, access::write> t_rg32uint;
+texture2d<int, access::write> t_rg32sint;
+texture2d<float, access::write> t_rg32float;
+texture2d<uint, access::write> t_rgba32uint;
+texture2d<int, access::write> t_rgba32sint;
+texture2d<float, access::write> t_rgba32float;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/storage/2d_array.wgsl.expected.ir.msl b/test/tint/types/texture/storage/2d_array.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ed693ca
--- /dev/null
+++ b/test/tint/types/texture/storage/2d_array.wgsl.expected.ir.msl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture2d_array<float, access::write> t_rgba8unorm;
+texture2d_array<float, access::write> t_rgba8snorm;
+texture2d_array<uint, access::write> t_rgba8uint;
+texture2d_array<int, access::write> t_rgba8sint;
+texture2d_array<uint, access::write> t_rgba16uint;
+texture2d_array<int, access::write> t_rgba16sint;
+texture2d_array<float, access::write> t_rgba16float;
+texture2d_array<uint, access::write> t_r32uint;
+texture2d_array<int, access::write> t_r32sint;
+texture2d_array<float, access::write> t_r32float;
+texture2d_array<uint, access::write> t_rg32uint;
+texture2d_array<int, access::write> t_rg32sint;
+texture2d_array<float, access::write> t_rg32float;
+texture2d_array<uint, access::write> t_rgba32uint;
+texture2d_array<int, access::write> t_rgba32sint;
+texture2d_array<float, access::write> t_rgba32float;
+void tint_symbol() {
+}
diff --git a/test/tint/types/texture/storage/3d.wgsl.expected.ir.msl b/test/tint/types/texture/storage/3d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..805775a
--- /dev/null
+++ b/test/tint/types/texture/storage/3d.wgsl.expected.ir.msl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+texture3d<float, access::write> t_rgba8unorm;
+texture3d<float, access::write> t_rgba8snorm;
+texture3d<uint, access::write> t_rgba8uint;
+texture3d<int, access::write> t_rgba8sint;
+texture3d<uint, access::write> t_rgba16uint;
+texture3d<int, access::write> t_rgba16sint;
+texture3d<float, access::write> t_rgba16float;
+texture3d<uint, access::write> t_r32uint;
+texture3d<int, access::write> t_r32sint;
+texture3d<float, access::write> t_r32float;
+texture3d<uint, access::write> t_rg32uint;
+texture3d<int, access::write> t_rg32sint;
+texture3d<float, access::write> t_rg32float;
+texture3d<uint, access::write> t_rgba32uint;
+texture3d<int, access::write> t_rgba32sint;
+texture3d<float, access::write> t_rgba32float;
+void tint_symbol() {
+}
diff --git a/test/tint/unicode/comments.wgsl.expected.ir.msl b/test/tint/unicode/comments.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f925a33
--- /dev/null
+++ b/test/tint/unicode/comments.wgsl.expected.ir.msl
@@ -0,0 +1,7 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+}
diff --git a/test/tint/var/inferred/global.wgsl.expected.ir.msl b/test/tint/var/inferred/global.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b147a04
--- /dev/null
+++ b/test/tint/var/inferred/global.wgsl.expected.ir.msl
@@ -0,0 +1,38 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct MyStruct {
+  float f1;
+};
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread int v1 = 1;
+thread uint v2 = 1u;
+thread float v3 = 1.0f;
+thread int3 v4 = int3(1);
+thread uint3 v5 = uint3(1u, 2u, 3u);
+thread float3 v6 = float3(1.0f, 2.0f, 3.0f);
+thread MyStruct v7 = MyStruct{.f1=1.0f};
+thread tint_array<float, 10> v8 = tint_array<float, 10>{};
+thread int v9 = 0;
+thread uint v10 = 0u;
+thread float v11 = 0.0f;
+thread MyStruct v12 = MyStruct{};
+thread MyStruct v13 = MyStruct{};
+thread tint_array<float, 10> v14 = tint_array<float, 10>{};
+thread int3 v15 = int3(1, 2, 3);
+thread float3 v16 = float3(1.0f, 2.0f, 3.0f);
+void f() {
+}
diff --git a/test/tint/var/initialization/function/array/array_i32.wgsl.expected.ir.msl b/test/tint/var/initialization/function/array/array_i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..75ad03c
--- /dev/null
+++ b/test/tint/var/initialization/function/array/array_i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void tint_symbol() {
+  tint_array<tint_array<int, 3>, 2> zero = {};
+  tint_array<tint_array<int, 3>, 2> init = tint_array<tint_array<int, 3>, 2>{tint_array<int, 3>{1, 2, 3}, tint_array<int, 3>{4, 5, 6}};
+}
diff --git a/test/tint/var/initialization/function/array/i32.wgsl.expected.ir.msl b/test/tint/var/initialization/function/array/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..245d842
--- /dev/null
+++ b/test/tint/var/initialization/function/array/i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+void tint_symbol() {
+  tint_array<int, 3> zero = {};
+  tint_array<int, 3> init = tint_array<int, 3>{1, 2, 3};
+}
diff --git a/test/tint/var/initialization/function/matrix.wgsl.expected.ir.msl b/test/tint/var/initialization/function/matrix.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f100982
--- /dev/null
+++ b/test/tint/var/initialization/function/matrix.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  float2x3 v = float2x3(0.0f);
+}
diff --git a/test/tint/var/initialization/function/scalar.wgsl.expected.ir.msl b/test/tint/var/initialization/function/scalar.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98c7160
--- /dev/null
+++ b/test/tint/var/initialization/function/scalar.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  int v = 0;
+}
diff --git a/test/tint/var/initialization/function/struct.wgsl.expected.ir.msl b/test/tint/var/initialization/function/struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c6de34b
--- /dev/null
+++ b/test/tint/var/initialization/function/struct.wgsl.expected.ir.msl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct S {
+  int a;
+  float b;
+};
+
+void tint_symbol() {
+  S v = {};
+}
diff --git a/test/tint/var/initialization/function/vector.wgsl.expected.ir.msl b/test/tint/var/initialization/function/vector.wgsl.expected.ir.msl
new file mode 100644
index 0000000..623d79d8
--- /dev/null
+++ b/test/tint/var/initialization/function/vector.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  int3 v = 0;
+}
diff --git a/test/tint/var/initialization/private/array/array_i32.wgsl.expected.ir.msl b/test/tint/var/initialization/private/array/array_i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eec5fd3
--- /dev/null
+++ b/test/tint/var/initialization/private/array/array_i32.wgsl.expected.ir.msl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<tint_array<int, 3>, 2> zero = {};
+thread tint_array<tint_array<int, 3>, 2> init = tint_array<tint_array<int, 3>, 2>{tint_array<int, 3>{1, 2, 3}, tint_array<int, 3>{4, 5, 6}};
+void tint_symbol() {
+  tint_array<tint_array<int, 3>, 2> v0 = zero;
+  tint_array<tint_array<int, 3>, 2> v1 = init;
+}
diff --git a/test/tint/var/initialization/private/array/i32.wgsl.expected.ir.msl b/test/tint/var/initialization/private/array/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c1da198
--- /dev/null
+++ b/test/tint/var/initialization/private/array/i32.wgsl.expected.ir.msl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+thread tint_array<int, 3> zero = {};
+thread tint_array<int, 3> init = tint_array<int, 3>{1, 2, 3};
+void tint_symbol() {
+  tint_array<int, 3> v0 = zero;
+  tint_array<int, 3> v1 = init;
+}
diff --git a/test/tint/var/initialization/private/matrix.wgsl.expected.ir.msl b/test/tint/var/initialization/private/matrix.wgsl.expected.ir.msl
new file mode 100644
index 0000000..187732e
--- /dev/null
+++ b/test/tint/var/initialization/private/matrix.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread float2x3 v = float2x3(0.0f);
+void tint_symbol() {
+}
diff --git a/test/tint/var/initialization/private/scalar.wgsl.expected.ir.msl b/test/tint/var/initialization/private/scalar.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a27538
--- /dev/null
+++ b/test/tint/var/initialization/private/scalar.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int v = 0;
+void tint_symbol() {
+}
diff --git a/test/tint/var/initialization/private/struct.wgsl.expected.ir.msl b/test/tint/var/initialization/private/struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aeed8b1
--- /dev/null
+++ b/test/tint/var/initialization/private/struct.wgsl.expected.ir.msl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct S {
+  int a;
+  float b;
+};
+
+thread S v = {};
+void tint_symbol() {
+}
diff --git a/test/tint/var/initialization/private/vector.wgsl.expected.ir.msl b/test/tint/var/initialization/private/vector.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cdca7cd
--- /dev/null
+++ b/test/tint/var/initialization/private/vector.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+thread int3 v = 0;
+void tint_symbol() {
+}
diff --git a/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.ir.msl b/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..031bb7c
--- /dev/null
+++ b/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+threadgroup tint_array<tint_array<int, 3>, 2> zero;
+void tint_symbol() {
+  tint_array<tint_array<int, 3>, 2> v = zero;
+}
diff --git a/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.ir.msl b/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..32c5bf6
--- /dev/null
+++ b/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.ir.msl
@@ -0,0 +1,21 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+template<typename T, size_t N>
+struct tint_array {
+  const constant T& operator[](size_t i) const constant { return elements[i]; }
+  device T& operator[](size_t i) device { return elements[i]; }
+  const device T& operator[](size_t i) const device { return elements[i]; }
+  thread T& operator[](size_t i) thread { return elements[i]; }
+  const thread T& operator[](size_t i) const thread { return elements[i]; }
+  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+  T elements[N];
+};
+
+
+threadgroup tint_array<int, 3> zero;
+void tint_symbol() {
+  tint_array<int, 3> v = zero;
+}
diff --git a/test/tint/var/initialization/workgroup/matrix.wgsl.expected.ir.msl b/test/tint/var/initialization/workgroup/matrix.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c034870
--- /dev/null
+++ b/test/tint/var/initialization/workgroup/matrix.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+threadgroup float2x3 v;
+void tint_symbol() {
+}
diff --git a/test/tint/var/initialization/workgroup/scalar.wgsl.expected.ir.msl b/test/tint/var/initialization/workgroup/scalar.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e655faa
--- /dev/null
+++ b/test/tint/var/initialization/workgroup/scalar.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+threadgroup int v;
+void tint_symbol() {
+}
diff --git a/test/tint/var/initialization/workgroup/struct.wgsl.expected.ir.msl b/test/tint/var/initialization/workgroup/struct.wgsl.expected.ir.msl
new file mode 100644
index 0000000..90e81f0
--- /dev/null
+++ b/test/tint/var/initialization/workgroup/struct.wgsl.expected.ir.msl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+struct S {
+  int a;
+  float b;
+};
+
+threadgroup S v;
+void tint_symbol() {
+}
diff --git a/test/tint/var/initialization/workgroup/vector.wgsl.expected.ir.msl b/test/tint/var/initialization/workgroup/vector.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b55a175
--- /dev/null
+++ b/test/tint/var/initialization/workgroup/vector.wgsl.expected.ir.msl
@@ -0,0 +1,8 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+threadgroup int3 v;
+void tint_symbol() {
+}
diff --git a/test/tint/var/override/named/no_init/bool.wgsl.expected.ir.msl b/test/tint/var/override/named/no_init/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/no_init/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/no_init/f32.wgsl.expected.ir.msl b/test/tint/var/override/named/no_init/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a46c89
--- /dev/null
+++ b/test/tint/var/override/named/no_init/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (true) {
+  }
+}
diff --git a/test/tint/var/override/named/no_init/i32.wgsl.expected.ir.msl b/test/tint/var/override/named/no_init/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/no_init/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/no_init/u32.wgsl.expected.ir.msl b/test/tint/var/override/named/no_init/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/no_init/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/val_init/bool.wgsl.expected.ir.msl b/test/tint/var/override/named/val_init/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/val_init/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/val_init/f32.wgsl.expected.ir.msl b/test/tint/var/override/named/val_init/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a46c89
--- /dev/null
+++ b/test/tint/var/override/named/val_init/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (true) {
+  }
+}
diff --git a/test/tint/var/override/named/val_init/i32.wgsl.expected.ir.msl b/test/tint/var/override/named/val_init/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/val_init/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/val_init/u32.wgsl.expected.ir.msl b/test/tint/var/override/named/val_init/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/val_init/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/zero_init/bool.wgsl.expected.ir.msl b/test/tint/var/override/named/zero_init/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/zero_init/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/zero_init/f32.wgsl.expected.ir.msl b/test/tint/var/override/named/zero_init/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a46c89
--- /dev/null
+++ b/test/tint/var/override/named/zero_init/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (true) {
+  }
+}
diff --git a/test/tint/var/override/named/zero_init/i32.wgsl.expected.ir.msl b/test/tint/var/override/named/zero_init/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/zero_init/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/named/zero_init/u32.wgsl.expected.ir.msl b/test/tint/var/override/named/zero_init/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/named/zero_init/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/no_init/bool.wgsl.expected.ir.msl b/test/tint/var/override/numbered/no_init/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/no_init/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/no_init/f32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/no_init/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a46c89
--- /dev/null
+++ b/test/tint/var/override/numbered/no_init/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (true) {
+  }
+}
diff --git a/test/tint/var/override/numbered/no_init/i32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/no_init/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a46c89
--- /dev/null
+++ b/test/tint/var/override/numbered/no_init/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (true) {
+  }
+}
diff --git a/test/tint/var/override/numbered/no_init/u32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/no_init/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/no_init/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/val_init/bool.wgsl.expected.ir.msl b/test/tint/var/override/numbered/val_init/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/val_init/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/val_init/f32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/val_init/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/val_init/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/val_init/i32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/val_init/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/val_init/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/val_init/u32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/val_init/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/val_init/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/zero_init/bool.wgsl.expected.ir.msl b/test/tint/var/override/numbered/zero_init/bool.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/zero_init/bool.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/zero_init/f32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/zero_init/f32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a46c89
--- /dev/null
+++ b/test/tint/var/override/numbered/zero_init/f32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (true) {
+  }
+}
diff --git a/test/tint/var/override/numbered/zero_init/i32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/zero_init/i32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/zero_init/i32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
diff --git a/test/tint/var/override/numbered/zero_init/u32.wgsl.expected.ir.msl b/test/tint/var/override/numbered/zero_init/u32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d054575d4
--- /dev/null
+++ b/test/tint/var/override/numbered/zero_init/u32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+#include <metal_stdlib>
+using namespace metal;
+
+void tint_symbol() {
+  if (false) {
+  }
+}
