[ir][msl] Generate expectation files.

Add SKIP expectation files for the MSL IR printer.

Bug: tint:1967
Change-Id: Ia0597244328d580fef391a094c46f131751bc01f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/162040
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ec338d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_002533 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_002533
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_002533
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_002533
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6fc86e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_005174 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_005174
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_005174
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_005174
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd0c621
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_1ce782 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(1u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_1ce782
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_1ce782
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_1ce782
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9808fd9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_1e9d53 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_1e9d53
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_1e9d53
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_1e9d53
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ec8ed03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_421ca3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_421ca3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_421ca3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_421ca3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5027b8d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%abs_467cd1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 1u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_467cd1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_467cd1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_467cd1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ccd091d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%abs_4ad288 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 1i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_4ad288
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_4ad288
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_4ad288
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5ff5427
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_538d29 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_538d29
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_538d29
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_538d29
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1b22400
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_5ad50a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_5ad50a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_5ad50a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_5ad50a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe609ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_5ae4fe = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_5ae4fe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_5ae4fe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_5ae4fe
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..941e66f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_7326de = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(1u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_7326de
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_7326de
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_7326de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2247281
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_7f28e6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_7f28e6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_7f28e6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_7f28e6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..abbe401
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_7faa9e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_7faa9e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_7faa9e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_7faa9e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3edd6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%abs_9c80a6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_9c80a6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_9c80a6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_9c80a6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e2cca09
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%abs_b96037 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_b96037
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_b96037
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_b96037
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5ed399c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%abs_fd247f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %abs_fd247f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %abs_fd247f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %abs_fd247f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..243d25c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%acos_004aff = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.25048828125h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_004aff
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_004aff
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_004aff
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.ir.msl
new file mode 100644
index 0000000..41b93a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%acos_203628 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.25048828125h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_203628
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_203628
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_203628
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d47451e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%acos_303e3d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.25048828125h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_303e3d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_303e3d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_303e3d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1d290b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%acos_489247 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.25f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_489247
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_489247
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_489247
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..09a3cf4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%acos_8e2acf = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.25f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_8e2acf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_8e2acf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_8e2acf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd57b75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%acos_a610c4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.25f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_a610c4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_a610c4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_a610c4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1efb0b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%acos_dfc915 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.25f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_dfc915
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_dfc915
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_dfc915
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f97b195
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%acos_f47057 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.25048828125h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acos_f47057
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acos_f47057
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acos_f47057
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b5257a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_5f49d8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.99951171875h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_5f49d8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_5f49d8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_5f49d8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fec6197
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_640883 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_640883
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_640883
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_640883
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1ae9000
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_a37dfe = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.99951171875h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_a37dfe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_a37dfe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_a37dfe
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..29b6128
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_d51ccb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_d51ccb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_d51ccb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_d51ccb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3980064
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_de60d8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.99951171875h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_de60d8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_de60d8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_de60d8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f2e3959
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_e38f5c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_e38f5c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_e38f5c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_e38f5c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..13c8aae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_ecf2d1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_ecf2d1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_ecf2d1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_ecf2d1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38734d1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%acosh_f56574 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.99951171875h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %acosh_f56574
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %acosh_f56574
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %acosh_f56574
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..03499e84
--- /dev/null
+++ b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%all_353d6a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %all_353d6a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %all_353d6a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %all_353d6a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..70b2ec1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%all_986c7b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %all_986c7b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %all_986c7b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %all_986c7b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e86a366
--- /dev/null
+++ b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%all_bd2dba = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %all_bd2dba
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %all_bd2dba
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %all_bd2dba
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.msl
new file mode 100644
index 0000000..21c45e0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%all_f46790 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %all_f46790
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %all_f46790
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %all_f46790
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1b379f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%any_083428 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %any_083428
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %any_083428
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %any_083428
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f6e3780
--- /dev/null
+++ b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%any_0e3e58 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %any_0e3e58
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %any_0e3e58
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %any_0e3e58
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4020e58
--- /dev/null
+++ b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%any_2ab91a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %any_2ab91a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %any_2ab91a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %any_2ab91a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..339d225
--- /dev/null
+++ b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%any_e755c1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %any_e755c1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %any_e755c1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %any_e755c1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7cb8118
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RO = struct @align(4) {
+  arg_0:array<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_ro:ptr<storage, SB_RO, read> = var @binding_point(0, 1)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_1588cd = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<i32>, read> = access %sb_ro, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_1588cd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_1588cd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_1588cd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b3f8345
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:array<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_61b1c7 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_61b1c7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_61b1c7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_61b1c7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7f0f1fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RO = struct @align(2) {
+  arg_0:array<f16> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_ro:ptr<storage, SB_RO, read> = var @binding_point(0, 1)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_8421b9 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<f16>, read> = access %sb_ro, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_8421b9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_8421b9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_8421b9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fa401db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RO = struct @align(4) {
+  arg_0:array<f32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_ro:ptr<storage, SB_RO, read> = var @binding_point(0, 1)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_a0f5ca = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<f32>, read> = access %sb_ro, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_a0f5ca
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_a0f5ca
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_a0f5ca
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b5bbeb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(2) {
+  arg_0:array<f16> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_cbd6b5 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<f16>, read_write> = access %sb_rw, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_cbd6b5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_cbd6b5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_cbd6b5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl
new file mode 100644
index 0000000..acc165e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:array<f32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_cdd123 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<f32>, read_write> = access %sb_rw, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_cdd123
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_cdd123
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_cdd123
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2b35883
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RO = struct @align(4) {
+  arg_0:array<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_ro:ptr<storage, SB_RO, read> = var @binding_point(0, 1)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_cfca0a = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<u32>, read> = access %sb_ro, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_cfca0a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_cfca0a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_cfca0a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f924728
--- /dev/null
+++ b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl
@@ -0,0 +1,47 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:array<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%arrayLength_eb510f = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = arrayLength %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %arrayLength_eb510f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %arrayLength_eb510f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %arrayLength_eb510f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c2e9bc6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%asin_064953 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.5f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_064953
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_064953
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_064953
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.ir.msl
new file mode 100644
index 0000000..84d239c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%asin_11dfda = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.499755859375h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_11dfda
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_11dfda
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_11dfda
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f20c21c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%asin_2d8e29 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.499755859375h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_2d8e29
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_2d8e29
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_2d8e29
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1869aab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%asin_3cfbd4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.499755859375h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_3cfbd4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_3cfbd4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_3cfbd4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4ad7aba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%asin_7b6a44 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.5f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_7b6a44
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_7b6a44
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_7b6a44
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bac72d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%asin_8cd9c9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.5f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_8cd9c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_8cd9c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_8cd9c9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1874dad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%asin_b4aced = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.499755859375h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_b4aced
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_b4aced
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_b4aced
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a20255b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%asin_c0c272 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.5f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asin_c0c272
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asin_c0c272
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asin_c0c272
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.msl
new file mode 100644
index 0000000..33457e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_157447 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.88137358427047729492f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_157447
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_157447
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_157447
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e4330cd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_2265ee = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.88137358427047729492f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_2265ee
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_2265ee
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_2265ee
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.ir.msl
new file mode 100644
index 0000000..479a961
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_468a48 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.88134765625h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_468a48
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_468a48
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_468a48
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.msl
new file mode 100644
index 0000000..686d7c1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_4a2226 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.88137358427047729492f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_4a2226
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_4a2226
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_4a2226
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d01e68f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_8d2e51 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.88137358427047729492f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_8d2e51
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_8d2e51
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_8d2e51
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..884a047
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_95ab2b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.88134765625h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_95ab2b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_95ab2b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_95ab2b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94ac1a9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_ad8f8b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.88134765625h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_ad8f8b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_ad8f8b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_ad8f8b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1e9624f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%asinh_fb5e8c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.88134765625h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %asinh_fb5e8c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %asinh_fb5e8c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %asinh_fb5e8c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9439b7d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%atan_02979a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.78539818525314331055f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_02979a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_02979a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_02979a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79d337b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atan_19faea = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.78515625h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_19faea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_19faea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_19faea
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.ir.msl
new file mode 100644
index 0000000..789b373
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atan_1e1764 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.78515625h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_1e1764
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_1e1764
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_1e1764
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9fa811b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atan_331e6d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.78539818525314331055f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_331e6d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_331e6d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_331e6d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.ir.msl
new file mode 100644
index 0000000..459437e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atan_a5f421 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.78515625h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_a5f421
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_a5f421
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_a5f421
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e49efea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%atan_a7ba61 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.78515625h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_a7ba61
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_a7ba61
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_a7ba61
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c8f977
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atan_a8b696 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.78539818525314331055f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_a8b696
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_a8b696
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_a8b696
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..451aad5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atan_ad96e4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.78539818525314331055f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan_ad96e4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan_ad96e4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan_ad96e4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..95393aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_21dfea = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.78515625h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_21dfea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_21dfea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_21dfea
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6bb0e65
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_57fb13 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.78539818525314331055f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_57fb13
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_57fb13
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_57fb13
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1a1b900
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_93febc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.78515625h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_93febc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_93febc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_93febc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..186c6f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_96057c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.78539818525314331055f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_96057c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_96057c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_96057c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9b97efd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_a70d0d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.78539818525314331055f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_a70d0d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_a70d0d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_a70d0d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8793019
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_ae713e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.78539818525314331055f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_ae713e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_ae713e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_ae713e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d918b5d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_ca698e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.78515625h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_ca698e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_ca698e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_ca698e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cf62436
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atan2_d983ab = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.78515625h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atan2_d983ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atan2_d983ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atan2_d983ab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..780b9a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_440cca = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.54930615425109863281f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_440cca
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_440cca
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_440cca
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bdfb1ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_5bf88d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.548828125h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_5bf88d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_5bf88d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_5bf88d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..24e16c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_7997d8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.54930615425109863281f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_7997d8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_7997d8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_7997d8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.msl
new file mode 100644
index 0000000..012e337
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_c0e634 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.54930615425109863281f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_c0e634
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_c0e634
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_c0e634
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3eccfe3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_d2d8cd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.548828125h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_d2d8cd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_d2d8cd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_d2d8cd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2442e30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_e3b450 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.548828125h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_e3b450
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_e3b450
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_e3b450
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.ir.msl
new file mode 100644
index 0000000..55f4bc7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_ec4b06 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.548828125h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_ec4b06
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_ec4b06
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_ec4b06
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..616badd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%atanh_f3e01b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.54930615425109863281f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %atanh_f3e01b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atanh_f3e01b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %atanh_f3e01b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAdd/794055.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAdd/794055.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5427bb7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAdd/794055.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAdd_794055 = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicAdd %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicAdd_794055
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAdd/8a199a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAdd/8a199a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4b5ecb7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAdd/8a199a.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAdd_8a199a = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicAdd %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicAdd_8a199a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicAdd_8a199a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAdd/d32fe4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAdd/d32fe4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c4bc367
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAdd/d32fe4.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAdd_d32fe4 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicAdd %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicAdd_d32fe4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicAdd_d32fe4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAdd/d5db1d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAdd/d5db1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a2fd53c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAdd/d5db1d.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAdd_d5db1d = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicAdd %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicAdd_d5db1d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAnd/152966.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAnd/152966.wgsl.expected.ir.msl
new file mode 100644
index 0000000..207d538
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAnd/152966.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAnd_152966 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicAnd %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicAnd_152966
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicAnd_152966
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAnd/34edd3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAnd/34edd3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94be877
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAnd/34edd3.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAnd_34edd3 = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicAnd %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicAnd_34edd3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAnd/45a819.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAnd/45a819.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5e828e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAnd/45a819.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAnd_45a819 = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicAnd %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicAnd_45a819
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicAnd/85a8d9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicAnd/85a8d9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2197441
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicAnd/85a8d9.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicAnd_85a8d9 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicAnd %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicAnd_85a8d9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicAnd_85a8d9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/1bd40a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/1bd40a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..748cf1e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/1bd40a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+__atomic_compare_exchange_result_i32 = struct @align(4) {
+  old_value:i32 @offset(0)
+  exchanged:bool @offset(4)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+}
+
+%atomicCompareExchangeWeak_1bd40a = func():void -> %b2 {
+  %b2 = block {
+    %3:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %4:__atomic_compare_exchange_result_i32 = atomicCompareExchangeWeak %3, 1i, 1i
+    %res:ptr<function, __atomic_compare_exchange_result_i32, read_write> = var, %4
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %atomicCompareExchangeWeak_1bd40a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %9:void = call %atomicCompareExchangeWeak_1bd40a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/63d8e6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/63d8e6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..556702a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/63d8e6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+__atomic_compare_exchange_result_u32 = struct @align(4) {
+  old_value:u32 @offset(0)
+  exchanged:bool @offset(4)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+}
+
+%atomicCompareExchangeWeak_63d8e6 = func():void -> %b2 {
+  %b2 = block {
+    %3:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %4:__atomic_compare_exchange_result_u32 = atomicCompareExchangeWeak %3, 1u, 1u
+    %res:ptr<function, __atomic_compare_exchange_result_u32, read_write> = var, %4
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %atomicCompareExchangeWeak_63d8e6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %9:void = call %atomicCompareExchangeWeak_63d8e6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/83580d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/83580d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/83580d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/e88938.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/e88938.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/e88938.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicExchange/0a5dca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicExchange/0a5dca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..684846f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicExchange/0a5dca.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicExchange_0a5dca = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicExchange %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicExchange_0a5dca
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicExchange/d59712.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicExchange/d59712.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e709187
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicExchange/d59712.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicExchange_d59712 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicExchange %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicExchange_d59712
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicExchange_d59712
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicExchange/e114ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicExchange/e114ba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7a36def
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicExchange/e114ba.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicExchange_e114ba = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicExchange %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicExchange_e114ba
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicExchange/f2e22f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicExchange/f2e22f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94453c1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicExchange/f2e22f.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicExchange_f2e22f = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicExchange %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicExchange_f2e22f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicExchange_f2e22f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicLoad/0806ad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicLoad/0806ad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df14b13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicLoad/0806ad.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicLoad_0806ad = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicLoad %4
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicLoad_0806ad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicLoad_0806ad
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicLoad/361bf1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicLoad/361bf1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c9e32cc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicLoad/361bf1.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicLoad_361bf1 = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicLoad %arg_0
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicLoad_361bf1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicLoad/afcc03.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicLoad/afcc03.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f1ff708
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicLoad/afcc03.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicLoad_afcc03 = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicLoad %arg_0
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicLoad_afcc03
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicLoad/fe6cc3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicLoad/fe6cc3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a6db9b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicLoad/fe6cc3.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicLoad_fe6cc3 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicLoad %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicLoad_fe6cc3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicLoad_fe6cc3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMax/51b9be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMax/51b9be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2365678
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMax/51b9be.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMax_51b9be = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicMax %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicMax_51b9be
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicMax_51b9be
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMax/92aa72.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMax/92aa72.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ce0e87
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMax/92aa72.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMax_92aa72 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicMax %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicMax_92aa72
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicMax_92aa72
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMax/a89cc3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMax/a89cc3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6e395c2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMax/a89cc3.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMax_a89cc3 = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicMax %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicMax_a89cc3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMax/beccfc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMax/beccfc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2692c8b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMax/beccfc.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMax_beccfc = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicMax %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicMax_beccfc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMin/278235.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMin/278235.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4c19be3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMin/278235.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMin_278235 = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicMin %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicMin_278235
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMin/69d383.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMin/69d383.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5471e99
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMin/69d383.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMin_69d383 = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicMin %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicMin_69d383
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMin/8e38dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMin/8e38dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cf36b6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMin/8e38dc.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMin_8e38dc = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicMin %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicMin_8e38dc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicMin_8e38dc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicMin/c67a74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicMin/c67a74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c3eb497
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicMin/c67a74.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicMin_c67a74 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicMin %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicMin_c67a74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicMin_c67a74
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicOr/5e3d61.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicOr/5e3d61.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5fbbce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicOr/5e3d61.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicOr_5e3d61 = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicOr %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicOr_5e3d61
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicOr/5e95d4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicOr/5e95d4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..66fd48d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicOr/5e95d4.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicOr_5e95d4 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicOr %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicOr_5e95d4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicOr_5e95d4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicOr/8d96a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicOr/8d96a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d51d623
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicOr/8d96a0.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicOr_8d96a0 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicOr %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicOr_8d96a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicOr_8d96a0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicOr/d09248.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicOr/d09248.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7beda39
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicOr/d09248.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicOr_d09248 = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicOr %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicOr_d09248
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicStore/726882.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicStore/726882.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicStore/726882.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicStore/8bea94.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicStore/8bea94.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicStore/8bea94.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicStore/cdc29e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicStore/cdc29e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..70a997b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicStore/cdc29e.wgsl.expected.ir.msl
@@ -0,0 +1,37 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+}
+
+%atomicStore_cdc29e = func():void -> %b2 {
+  %b2 = block {
+    %3:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %4:void = atomicStore %3, 1u
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %6:void = call %atomicStore_cdc29e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atomicStore_cdc29e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicStore/d1e9a6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicStore/d1e9a6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..95a7778
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicStore/d1e9a6.wgsl.expected.ir.msl
@@ -0,0 +1,37 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+}
+
+%atomicStore_d1e9a6 = func():void -> %b2 {
+  %b2 = block {
+    %3:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %4:void = atomicStore %3, 1i
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %6:void = call %atomicStore_d1e9a6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %atomicStore_d1e9a6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicSub/051100.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicSub/051100.wgsl.expected.ir.msl
new file mode 100644
index 0000000..de67fb7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicSub/051100.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicSub_051100 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicSub %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicSub_051100
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicSub_051100
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicSub/0d26c2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicSub/0d26c2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ac454d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicSub/0d26c2.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicSub_0d26c2 = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicSub %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicSub_0d26c2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicSub/15bfc9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicSub/15bfc9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..49d5953
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicSub/15bfc9.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicSub_15bfc9 = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicSub %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicSub_15bfc9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicSub_15bfc9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicSub/77883a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicSub/77883a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c37905
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicSub/77883a.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicSub_77883a = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicSub %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicSub_77883a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicXor/54510e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicXor/54510e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c08fe3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicXor/54510e.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<u32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicXor_54510e = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<u32>, read_write> = access %sb_rw, 0u
+    %5:u32 = atomicXor %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicXor_54510e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicXor_54510e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicXor/75dc95.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicXor/75dc95.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d071478
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicXor/75dc95.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<i32>, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicXor_75dc95 = func():void -> %b2 {
+  %b2 = block {
+    %4:i32 = atomicXor %arg_0, 1i
+    %res:ptr<function, i32, read_write> = var, %4
+    %6:i32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicXor_75dc95
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicXor/c1b78c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicXor/c1b78c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..979e345
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicXor/c1b78c.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: SB_RW = struct @align(4) {
+  arg_0:atomic<i32> @offset(0)
+}
+
+%b1 = block {  # root
+  %sb_rw:ptr<storage, SB_RW, read_write> = var @binding_point(0, 0)
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicXor_c1b78c = func():void -> %b2 {
+  %b2 = block {
+    %4:ptr<storage, atomic<i32>, read_write> = access %sb_rw, 0u
+    %5:i32 = atomicXor %4, 1i
+    %res:ptr<function, i32, read_write> = var, %5
+    %7:i32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %9:void = call %atomicXor_c1b78c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %atomicXor_c1b78c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/atomicXor/c8e6be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/atomicXor/c8e6be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1790d2f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/atomicXor/c8e6be.wgsl.expected.ir.msl
@@ -0,0 +1,30 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, atomic<u32>, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%atomicXor_c8e6be = func():void -> %b2 {
+  %b2 = block {
+    %4:u32 = atomicXor %arg_0, 1u
+    %res:ptr<function, u32, read_write> = var, %4
+    %6:u32 = load %res
+    store %prevent_dce, %6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %8:void = call %atomicXor_c8e6be
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2231942
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_09bf52 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(2.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_09bf52
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_09bf52
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_09bf52
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9b886a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_18c240 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(2.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_18c240
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_18c240
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_18c240
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be74abe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_34064b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(2.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_34064b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_34064b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_34064b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0e93ba4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_4bca2a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(2.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_4bca2a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_4bca2a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_4bca2a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f15df3a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_678655 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 2.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_678655
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_678655
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_678655
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.msl
new file mode 100644
index 0000000..57dc103
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_96f597 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(2.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_96f597
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_96f597
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_96f597
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2e94cc7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_b74c16 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(2.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_b74c16
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_b74c16
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_b74c16
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a71edc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%ceil_f3f889 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 2.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ceil_f3f889
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ceil_f3f889
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ceil_f3f889
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ed490e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_0acf8f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_0acf8f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_0acf8f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_0acf8f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df99b01
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_1a32e3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_1a32e3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_1a32e3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_1a32e3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2277830
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_235b29 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_235b29
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_235b29
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_235b29
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.msl
new file mode 100644
index 0000000..26cbc58
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_2bd567 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_2bd567
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_2bd567
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_2bd567
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.msl
new file mode 100644
index 0000000..052b2c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_2bde41 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_2bde41
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_2bde41
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_2bde41
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f32ce07
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_2c251b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_2c251b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_2c251b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_2c251b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1ab855
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_548fc7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(1u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_548fc7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_548fc7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_548fc7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4effa2c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_553ffb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_553ffb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_553ffb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_553ffb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff5ec43
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_5f0819 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_5f0819
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_5f0819
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_5f0819
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e880db4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_6c1749 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_6c1749
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_6c1749
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_6c1749
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c7a8dfd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_7706d7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_7706d7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_7706d7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_7706d7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a6cb807
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_867397 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_867397
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_867397
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_867397
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.msl
new file mode 100644
index 0000000..13eacce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_a2de25 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 1u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_a2de25
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_a2de25
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_a2de25
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c0c47be
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_b07c65 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 1i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_b07c65
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_b07c65
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_b07c65
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6f9eae9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_b195eb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_b195eb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_b195eb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_b195eb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c4d2fe2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%clamp_bd43ce = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(1u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %clamp_bd43ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %clamp_bd43ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %clamp_bd43ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eea52ee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%cos_0835a8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_0835a8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_0835a8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_0835a8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..56f644e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%cos_0a89f7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_0a89f7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_0a89f7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_0a89f7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fa217de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%cos_16dc15 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_16dc15
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_16dc15
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_16dc15
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..49efca2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%cos_29d66d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_29d66d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_29d66d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_29d66d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9d1eb1f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%cos_5bc2c6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_5bc2c6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_5bc2c6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_5bc2c6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c78cf61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%cos_c3b486 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_c3b486
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_c3b486
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_c3b486
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..781f14e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%cos_c5c28e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_c5c28e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_c5c28e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_c5c28e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d567bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%cos_fc047d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cos_fc047d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cos_fc047d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cos_fc047d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d31223
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_2ed778 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_2ed778
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_2ed778
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_2ed778
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9d50650
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_377652 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_377652
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_377652
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_377652
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5641ca5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_3b7bbf = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_3b7bbf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_3b7bbf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_3b7bbf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e357e5c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_43b672 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_43b672
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_43b672
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_43b672
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1251149
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_b1b8a0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_b1b8a0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_b1b8a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_b1b8a0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ec3b1cd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_c13756 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_c13756
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_c13756
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_c13756
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..85919a9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_da92dd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_da92dd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_da92dd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_da92dd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d7e3c36
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%cosh_e0c1de = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cosh_e0c1de
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cosh_e0c1de
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cosh_e0c1de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c38b27
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_208d46 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 31u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_208d46
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_208d46
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_208d46
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.msl
new file mode 100644
index 0000000..82cc4cd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_6d4656 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 31i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_6d4656
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_6d4656
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_6d4656
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d211a03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_70783f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(31u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_70783f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_70783f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_70783f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..491754e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_7c38a6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(31i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_7c38a6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_7c38a6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_7c38a6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b10e344
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_858d40 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(31i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_858d40
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_858d40
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_858d40
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cbbfd77
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_ab6345 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(31u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_ab6345
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_ab6345
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_ab6345
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e6e7e75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_eab32b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(31i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_eab32b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_eab32b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_eab32b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.msl
new file mode 100644
index 0000000..66eadf0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countLeadingZeros_f70103 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(31u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countLeadingZeros_f70103
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countLeadingZeros_f70103
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countLeadingZeros_f70103
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e3d64f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_0d0e46 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(1u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_0d0e46
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_0d0e46
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_0d0e46
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c0644d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_0f7980 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_0f7980
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_0f7980
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_0f7980
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2daf368
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_65d2ae = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_65d2ae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_65d2ae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_65d2ae
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9f8a04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_690cfc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(1u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_690cfc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_690cfc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_690cfc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cd8cb7e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_94fd81 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_94fd81
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_94fd81
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_94fd81
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5ee82f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_ae44f9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 1u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_ae44f9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_ae44f9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_ae44f9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bd5af1a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_af90e2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_af90e2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_af90e2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_af90e2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a1d9339
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%countOneBits_fd88b2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 1i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countOneBits_fd88b2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countOneBits_fd88b2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countOneBits_fd88b2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cec1dae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_1ad138 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(0u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_1ad138
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_1ad138
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_1ad138
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0c1893f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_1dc84a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(0i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_1dc84a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_1dc84a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_1dc84a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f71133
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_21e394 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 0u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_21e394
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_21e394
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_21e394
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6eb10d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_327c37 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(0i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_327c37
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_327c37
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_327c37
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9f4a394
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_42fed6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 0i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_42fed6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_42fed6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_42fed6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fa6ce18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_8ed26f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(0u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_8ed26f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_8ed26f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_8ed26f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..92e06c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_acfacb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(0i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_acfacb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_acfacb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_acfacb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8fcc00f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%countTrailingZeros_d2b4a0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(0u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %countTrailingZeros_d2b4a0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %countTrailingZeros_d2b4a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %countTrailingZeros_d2b4a0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c542b73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%cross_041cb0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cross_041cb0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cross_041cb0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cross_041cb0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..037e7f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%cross_9857cb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %cross_9857cb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %cross_9857cb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %cross_9857cb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3729a11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_0d170c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(57.2957763671875f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_0d170c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_0d170c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_0d170c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e615ff8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_1ad5df = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(57.2957763671875f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_1ad5df
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_1ad5df
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_1ad5df
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4679e0e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_2af623 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(57.2957763671875f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_2af623
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_2af623
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_2af623
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ddd002
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_3055d3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(57.3125h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_3055d3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_3055d3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_3055d3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fb2e303
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_51f705 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 57.2957763671875f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_51f705
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_51f705
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_51f705
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9e50b9d61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_5e9805 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 57.3125h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_5e9805
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_5e9805
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_5e9805
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bedf60b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_dfe8f4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(57.3125h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_dfe8f4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_dfe8f4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_dfe8f4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eacbfe3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%degrees_f59715 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(57.3125h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %degrees_f59715
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %degrees_f59715
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %degrees_f59715
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d7fd6b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%determinant_2b62ba = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %determinant_2b62ba
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %determinant_2b62ba
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %determinant_2b62ba
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b652b34
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%determinant_32bfde = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %determinant_32bfde
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %determinant_32bfde
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %determinant_32bfde
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fecf5a2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%determinant_a0a87c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %determinant_a0a87c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %determinant_a0a87c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %determinant_a0a87c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2258fa0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%determinant_d7c86f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %determinant_d7c86f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %determinant_d7c86f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %determinant_d7c86f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9110482
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%determinant_e19305 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %determinant_e19305
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %determinant_e19305
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %determinant_e19305
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b8bebc9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%determinant_fc12a5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %determinant_fc12a5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %determinant_fc12a5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %determinant_fc12a5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c51c69a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%distance_0657d4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_0657d4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_0657d4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_0657d4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ef28eed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%distance_7272f3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_7272f3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_7272f3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_7272f3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0208e9f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%distance_7d201f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_7d201f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_7d201f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_7d201f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1e1eea2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%distance_892a5d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_892a5d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_892a5d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_892a5d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f96aa9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%distance_928fa0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_928fa0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_928fa0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_928fa0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..da10b28
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%distance_9646ea = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_9646ea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_9646ea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_9646ea
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79e743c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%distance_aa4055 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_aa4055
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_aa4055
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_aa4055
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae7135c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%distance_cfed73 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %distance_cfed73
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %distance_cfed73
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %distance_cfed73
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fffda1d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_0c577b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 4.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_0c577b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_0c577b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_0c577b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9bae90e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_7548a0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 3u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_7548a0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_7548a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_7548a0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d2b1036
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_883f0e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 2.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_883f0e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_883f0e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_883f0e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c1d7113
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%dot_8e40f1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 3.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_8e40f1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_8e40f1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_8e40f1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..13c0306
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_97c7ee = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 2u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_97c7ee
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_97c7ee
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_97c7ee
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0edfdd1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_ba4246 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 3.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_ba4246
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_ba4246
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_ba4246
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c7ea1f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%dot_cd5a04 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 2.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_cd5a04
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_cd5a04
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_cd5a04
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a244ec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%dot_d0d179 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 4.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_d0d179
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_d0d179
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_d0d179
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f2b4515
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_e994c7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 4u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_e994c7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_e994c7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_e994c7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..78a0d47
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_ef6b1d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 4i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_ef6b1d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_ef6b1d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_ef6b1d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a533c6b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_f1312c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 3i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_f1312c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_f1312c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_f1312c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ad47da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%dot_fc5f7c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 2i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %dot_fc5f7c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %dot_fc5f7c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %dot_fc5f7c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4a45ec5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%dot4I8Packed_881e62 = func():void -> %b2 {
+  %b2 = block {
+    %3:i32 = dot4I8Packed 1u, 1u
+    %res:ptr<function, i32, read_write> = var, %3
+    %5:i32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %7:void = call %dot4I8Packed_881e62
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %9:void = call %dot4I8Packed_881e62
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %11:void = call %dot4I8Packed_881e62
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..453d015
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.msl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%dot4U8Packed_fbed7b = func():void -> %b2 {
+  %b2 = block {
+    %3:u32 = dot4U8Packed 1u, 1u
+    %res:ptr<function, u32, read_write> = var, %3
+    %5:u32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %7:void = call %dot4U8Packed_fbed7b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %9:void = call %dot4U8Packed_fbed7b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %11:void = call %dot4U8Packed_fbed7b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdx/0763f7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdx/0763f7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2cb5cb5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdx/0763f7.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdx_0763f7 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = dpdx vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdx_0763f7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdx/99edb1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdx/99edb1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4259399
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdx/99edb1.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdx_99edb1 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = dpdx vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdx_99edb1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdx/c487fa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdx/c487fa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9fe7ac2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdx/c487fa.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdx_c487fa = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = dpdx vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdx_c487fa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdx/e263de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdx/e263de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7dbc7e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdx/e263de.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dpdx_e263de = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = dpdx 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdx_e263de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/029152.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxCoarse/029152.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e2f215f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/029152.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxCoarse_029152 = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = dpdxCoarse 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxCoarse_029152
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/9581cf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxCoarse/9581cf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dc04b14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/9581cf.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxCoarse_9581cf = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = dpdxCoarse vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxCoarse_9581cf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/c28641.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxCoarse/c28641.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c39104
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/c28641.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxCoarse_c28641 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = dpdxCoarse vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxCoarse_c28641
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/f64d7b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxCoarse/f64d7b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eddc72a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/f64d7b.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxCoarse_f64d7b = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = dpdxCoarse vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxCoarse_f64d7b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxFine/8c5069.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxFine/8c5069.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a0b5358
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxFine/8c5069.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxFine_8c5069 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = dpdxFine vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxFine_8c5069
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxFine/9631de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxFine/9631de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..33050f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxFine/9631de.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxFine_9631de = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = dpdxFine vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxFine_9631de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxFine/f401a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxFine/f401a2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0315624
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxFine/f401a2.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxFine_f401a2 = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = dpdxFine 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxFine_f401a2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdxFine/f92fb6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdxFine/f92fb6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5502400
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdxFine/f92fb6.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdxFine_f92fb6 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = dpdxFine vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdxFine_f92fb6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdy/699a05.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdy/699a05.wgsl.expected.ir.msl
new file mode 100644
index 0000000..572b4d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdy/699a05.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdy_699a05 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = dpdy vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdy_699a05
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdy/7f8d84.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdy/7f8d84.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c86951f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdy/7f8d84.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dpdy_7f8d84 = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = dpdy 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdy_7f8d84
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdy/a8b56e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdy/a8b56e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aa77f52
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdy/a8b56e.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdy_a8b56e = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = dpdy vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdy_a8b56e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdy/feb40f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdy/feb40f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..312fa68
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdy/feb40f.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdy_feb40f = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = dpdy vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdy_feb40f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/3e1ab4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyCoarse/3e1ab4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98d5ae0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/3e1ab4.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyCoarse_3e1ab4 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = dpdyCoarse vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyCoarse_3e1ab4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/445d24.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyCoarse/445d24.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c732bf3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/445d24.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyCoarse_445d24 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = dpdyCoarse vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyCoarse_445d24
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/870a7e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyCoarse/870a7e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5269dc2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/870a7e.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyCoarse_870a7e = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = dpdyCoarse 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyCoarse_870a7e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/ae1873.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyCoarse/ae1873.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dc4eded
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/ae1873.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyCoarse_ae1873 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = dpdyCoarse vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyCoarse_ae1873
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyFine/1fb7ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyFine/1fb7ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e24fb9c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyFine/1fb7ab.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyFine_1fb7ab = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = dpdyFine vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyFine_1fb7ab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyFine/6eb673.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyFine/6eb673.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a59eb2b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyFine/6eb673.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyFine_6eb673 = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = dpdyFine 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyFine_6eb673
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyFine/d0a648.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyFine/d0a648.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff95a62
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyFine/d0a648.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyFine_d0a648 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = dpdyFine vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyFine_d0a648
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/dpdyFine/df33aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/dpdyFine/df33aa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ee93bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/dpdyFine/df33aa.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%dpdyFine_df33aa = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = dpdyFine vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %dpdyFine_df33aa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df9853c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%exp_0f70eb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(2.71828174591064453125f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_0f70eb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_0f70eb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_0f70eb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ab1d5f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%exp_13806d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(2.716796875h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_13806d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_13806d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_13806d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d13e3d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%exp_1951e7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(2.71828174591064453125f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_1951e7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_1951e7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_1951e7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..71f7491
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%exp_2e08e2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(2.716796875h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_2e08e2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_2e08e2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_2e08e2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.ir.msl
new file mode 100644
index 0000000..26c7ea1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%exp_611a87 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(2.716796875h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_611a87
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_611a87
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_611a87
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..27b1e7a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%exp_771fd2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 2.71828174591064453125f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_771fd2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_771fd2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_771fd2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ef92a41
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%exp_c18fe9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 2.716796875h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_c18fe9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_c18fe9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_c18fe9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.msl
new file mode 100644
index 0000000..668cf8e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%exp_d98450 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(2.71828174591064453125f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp_d98450
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp_d98450
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp_d98450
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a12a73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_151a4c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(2.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_151a4c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_151a4c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_151a4c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0e4b761
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_1f8680 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(2.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_1f8680
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_1f8680
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_1f8680
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2930a9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_751377 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(2.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_751377
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_751377
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_751377
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6bc7b2f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_a9d0a7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(2.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_a9d0a7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_a9d0a7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_a9d0a7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e934c74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_b408e4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 2.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_b408e4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_b408e4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_b408e4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9f6fcc1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_d6777c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(2.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_d6777c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_d6777c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_d6777c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eeb8d92
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_dea523 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 2.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_dea523
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_dea523
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_dea523
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bb92619
--- /dev/null
+++ b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%exp2_ffa827 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(2.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %exp2_ffa827
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %exp2_ffa827
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %exp2_ffa827
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.msl
new file mode 100644
index 0000000..488affd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_12b197 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(0u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_12b197
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_12b197
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_12b197
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7ad18a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_249874 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 0i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_249874
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_249874
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_249874
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38fb48f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_631377 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(0u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_631377
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_631377
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_631377
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cb6fb9f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_a99a8d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(0i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_a99a8d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_a99a8d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_a99a8d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..935a997
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_ce81f8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 0u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_ce81f8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_ce81f8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_ce81f8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d59f44b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_e04f5d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(0i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_e04f5d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_e04f5d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_e04f5d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.msl
new file mode 100644
index 0000000..da6cab3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_f28f69 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(0u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_f28f69
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_f28f69
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_f28f69
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bc9f7d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%extractBits_fb850f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(0i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %extractBits_fb850f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %extractBits_fb850f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %extractBits_fb850f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a7d95d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%faceForward_524986 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(-1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %faceForward_524986
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %faceForward_524986
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %faceForward_524986
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..101c573
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%faceForward_5afbd5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(-1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %faceForward_5afbd5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %faceForward_5afbd5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %faceForward_5afbd5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1ba2faa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%faceForward_b316e5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(-1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %faceForward_b316e5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %faceForward_b316e5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %faceForward_b316e5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..561ae5c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%faceForward_cc63dc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(-1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %faceForward_cc63dc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %faceForward_cc63dc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %faceForward_cc63dc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..74e6a22
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%faceForward_e6908b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(-1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %faceForward_e6908b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %faceForward_e6908b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %faceForward_e6908b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..13c9223
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%faceForward_fb0f2e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(-1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %faceForward_fb0f2e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %faceForward_fb0f2e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %faceForward_fb0f2e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dc9d350
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_000ff3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(0u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_000ff3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_000ff3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_000ff3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bab5387
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_35053e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(0i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_35053e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_35053e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_35053e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1dbdcf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_3fd7d0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(0u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_3fd7d0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_3fd7d0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_3fd7d0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ed178f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_57a1a3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 0i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_57a1a3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_57a1a3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_57a1a3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1af9e45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_6fe804 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(0u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_6fe804
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_6fe804
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_6fe804
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3da8e16
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_a622c2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(0i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_a622c2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_a622c2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_a622c2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d7ed188
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_c1f940 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(0i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_c1f940
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_c1f940
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_c1f940
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a1af685
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%firstLeadingBit_f0779d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 0u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstLeadingBit_f0779d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstLeadingBit_f0779d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstLeadingBit_f0779d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5cf748c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_110f2c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(0u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_110f2c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_110f2c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_110f2c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..40f422f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_3a2acc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 0i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_3a2acc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_3a2acc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_3a2acc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2c4a4f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_45eb10 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(0u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_45eb10
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_45eb10
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_45eb10
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dc2d311
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_47d475 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 0u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_47d475
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_47d475
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_47d475
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.msl
new file mode 100644
index 0000000..99012a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_50c072 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(0i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_50c072
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_50c072
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_50c072
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8054884
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_7496d6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(0i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_7496d6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_7496d6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_7496d6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1664234
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_86551b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(0i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_86551b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_86551b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_86551b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..19067fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%firstTrailingBit_cb51ce = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(0u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %firstTrailingBit_cb51ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %firstTrailingBit_cb51ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %firstTrailingBit_cb51ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9208e31
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%floor_3802c0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_3802c0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_3802c0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_3802c0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..87c537e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%floor_3bccc4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_3bccc4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_3bccc4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_3bccc4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..199b370
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%floor_5fc9ac = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_5fc9ac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_5fc9ac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_5fc9ac
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d3345e6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%floor_60d7ea = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_60d7ea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_60d7ea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_60d7ea
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.msl
new file mode 100644
index 0000000..811da8a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%floor_66f154 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_66f154
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_66f154
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_66f154
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44f7319
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%floor_84658c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_84658c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_84658c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_84658c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cb68bb7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%floor_a2d31b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_a2d31b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_a2d31b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_a2d31b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..74d5a56
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%floor_b6e09c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %floor_b6e09c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %floor_b6e09c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %floor_b6e09c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f12d380
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fma_26a7a9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(2.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_26a7a9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_26a7a9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_26a7a9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a5fdcf6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fma_6a3283 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(2.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_6a3283
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_6a3283
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_6a3283
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8330bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%fma_ab7818 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(2.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_ab7818
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_ab7818
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_ab7818
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9102dc5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%fma_bf21b6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(2.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_bf21b6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_bf21b6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_bf21b6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..afe7691
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%fma_c10ba3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 2.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_c10ba3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_c10ba3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_c10ba3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fdccaee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%fma_c8abb3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 2.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_c8abb3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_c8abb3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_c8abb3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..deecbc8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fma_e17c5c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(2.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_e17c5c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_e17c5c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_e17c5c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b5b959b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%fma_e7abdc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(2.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fma_e7abdc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fma_e7abdc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fma_e7abdc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b06c4d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%fract_181aa9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.25h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_181aa9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_181aa9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_181aa9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f6142ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%fract_498c77 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.25h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_498c77
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_498c77
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_498c77
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..501a08a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fract_8bc1e9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.25f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_8bc1e9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_8bc1e9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_8bc1e9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..31337e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fract_943cb1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.25f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_943cb1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_943cb1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_943cb1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a247493
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%fract_958a1d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.25h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_958a1d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_958a1d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_958a1d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.msl
new file mode 100644
index 0000000..52fbef6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fract_a49758 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.25f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_a49758
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_a49758
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_a49758
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0892f8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%fract_eb38ce = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.25h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_eb38ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_eb38ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_eb38ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b9901a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%fract_fa5c71 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.25f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %fract_fa5c71
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %fract_fa5c71
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %fract_fa5c71
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidth/5d1b39.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidth/5d1b39.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aabe87a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidth/5d1b39.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidth_5d1b39 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = fwidth vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidth_5d1b39
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidth/b83ebb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidth/b83ebb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2469418
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidth/b83ebb.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidth_b83ebb = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = fwidth vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidth_b83ebb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidth/d2ab9a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidth/d2ab9a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..762715b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidth/d2ab9a.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidth_d2ab9a = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = fwidth vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidth_d2ab9a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidth/df38ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidth/df38ef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d5c6373
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidth/df38ef.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%fwidth_df38ef = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = fwidth 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidth_df38ef
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/159c8a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthCoarse/159c8a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f6d59c7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/159c8a.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthCoarse_159c8a = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = fwidthCoarse 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthCoarse_159c8a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/1e59d9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthCoarse/1e59d9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bcc78c5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/1e59d9.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthCoarse_1e59d9 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = fwidthCoarse vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthCoarse_1e59d9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/4e4fc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthCoarse/4e4fc4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e493972
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/4e4fc4.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthCoarse_4e4fc4 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = fwidthCoarse vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthCoarse_4e4fc4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/e653f7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthCoarse/e653f7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..260946e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/e653f7.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthCoarse_e653f7 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = fwidthCoarse vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthCoarse_e653f7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthFine/523fdc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthFine/523fdc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f747cae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthFine/523fdc.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthFine_523fdc = func():void -> %b2 {
+  %b2 = block {
+    %3:vec3<f32> = fwidthFine vec3<f32>(1.0f)
+    %res:ptr<function, vec3<f32>, read_write> = var, %3
+    %5:vec3<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthFine_523fdc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthFine/68f4ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthFine/68f4ef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5135a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthFine/68f4ef.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthFine_68f4ef = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<f32> = fwidthFine vec4<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %3
+    %5:vec4<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthFine_68f4ef
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthFine/f1742d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthFine/f1742d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c28eb02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthFine/f1742d.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthFine_f1742d = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = fwidthFine 1.0f
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthFine_f1742d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/fwidthFine/ff6aa0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/fwidthFine/ff6aa0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..25f0eea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/fwidthFine/ff6aa0.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%fwidthFine_ff6aa0 = func():void -> %b2 {
+  %b2 = block {
+    %3:vec2<f32> = fwidthFine vec2<f32>(1.0f)
+    %res:ptr<function, vec2<f32>, read_write> = var, %3
+    %5:vec2<f32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %fwidthFine_ff6aa0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2ac535b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_3c7ba5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(3u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_3c7ba5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_3c7ba5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_3c7ba5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d7051d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_428b0b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(3i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_428b0b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_428b0b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_428b0b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e419584
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_51ede1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(3u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_51ede1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_51ede1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_51ede1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f0a8483
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_65468b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 3i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_65468b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_65468b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_65468b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8438a9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_87826b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(3u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_87826b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_87826b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_87826b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.msl
new file mode 100644
index 0000000..062aed0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_d86978 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(3i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_d86978
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_d86978
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_d86978
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aab67b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_e3e3a2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 3u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_e3e3a2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_e3e3a2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_e3e3a2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3c6441
--- /dev/null
+++ b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%insertBits_fe6ba6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(3i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %insertBits_fe6ba6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %insertBits_fe6ba6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %insertBits_fe6ba6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6886f04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_440300 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_440300
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_440300
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_440300
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6024fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_5f51f8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_5f51f8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_5f51f8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_5f51f8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8903d29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_84407e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_84407e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_84407e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_84407e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b790d84
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_8f2bd2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_8f2bd2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_8f2bd2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_8f2bd2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5d5874c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_b197b1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_b197b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_b197b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_b197b1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..83b3fbc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_b85ebd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_b85ebd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_b85ebd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_b85ebd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e73de2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_c22347 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_c22347
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_c22347
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_c22347
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c521626
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%inverseSqrt_cbdc70 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %inverseSqrt_cbdc70
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %inverseSqrt_cbdc70
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %inverseSqrt_cbdc70
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..af69ec7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_082c1f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 2.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_082c1f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_082c1f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_082c1f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2ae9147
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_217a31 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(2.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_217a31
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_217a31
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_217a31
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..72e9311
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_3d90b4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(2.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_3d90b4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_3d90b4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_3d90b4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be65e0d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_593ff3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(2.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_593ff3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_593ff3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_593ff3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4b53878
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_624e0c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 2.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_624e0c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_624e0c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_624e0c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8882969
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_65a7bd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(2.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_65a7bd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_65a7bd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_65a7bd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..52e1fb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_7485ce = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(2.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_7485ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_7485ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_7485ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b129da6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_7fa13c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(2.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_7fa13c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_7fa13c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_7fa13c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..db8a6a9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_8a0c2f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(2.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_8a0c2f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_8a0c2f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_8a0c2f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4aefe8d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_8e43e9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(2.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_8e43e9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_8e43e9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_8e43e9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b30bdd9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_a22679 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(2.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_a22679
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_a22679
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_a22679
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eb148d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_a31cdc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(2.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_a31cdc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_a31cdc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_a31cdc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eafda3d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_abd718 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(2.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_abd718
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_abd718
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_abd718
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ea97cb9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_c9d0b7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 2.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_c9d0b7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_c9d0b7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_c9d0b7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae59169
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_cc9cde = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(2.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_cc9cde
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_cc9cde
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_cc9cde
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.msl
new file mode 100644
index 0000000..13ae4cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%ldexp_db8b49 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 2.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %ldexp_db8b49
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %ldexp_db8b49
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %ldexp_db8b49
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.msl
new file mode 100644
index 0000000..81795df
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%length_056071 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_056071
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_056071
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_056071
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b3bf1ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%length_3f0e13 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_3f0e13
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_3f0e13
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_3f0e13
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..72e5554
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%length_5b1a9b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_5b1a9b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_5b1a9b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_5b1a9b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.msl
new file mode 100644
index 0000000..562d7c2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%length_602a17 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_602a17
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_602a17
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_602a17
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..68ee9be
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%length_afde8b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_afde8b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_afde8b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_afde8b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8fb3a55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%length_ba16d6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_ba16d6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_ba16d6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_ba16d6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..609f803
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%length_becebf = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_becebf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_becebf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_becebf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f8a61a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%length_c158da = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %length_c158da
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %length_c158da
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %length_c158da
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7641958
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%log_3da25a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_3da25a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_3da25a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_3da25a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/655989.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/655989.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/655989.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..18e2505
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%log_6ff86f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_6ff86f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_6ff86f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_6ff86f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7fe5e88
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%log_7114a6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_7114a6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_7114a6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_7114a6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d4c97fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%log_8f0e32 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_8f0e32
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_8f0e32
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_8f0e32
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.msl
new file mode 100644
index 0000000..478de02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%log_b2ce28 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_b2ce28
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_b2ce28
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_b2ce28
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c9f65f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%log_c9f489 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_c9f489
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_c9f489
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_c9f489
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..70c6296
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%log_cdbdc1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_cdbdc1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_cdbdc1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_cdbdc1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e28f2fe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%log_f4c570 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log_f4c570
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log_f4c570
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log_f4c570
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1843eb5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%log2_38b478 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_38b478
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_38b478
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_38b478
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.msl
new file mode 100644
index 0000000..008a5ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%log2_4036ed = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_4036ed
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_4036ed
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_4036ed
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d4f8912
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%log2_776088 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_776088
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_776088
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_776088
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0eed55b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%log2_8c10b3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_8c10b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_8c10b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_8c10b3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.msl
new file mode 100644
index 0000000..82b5595
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%log2_902988 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_902988
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_902988
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_902988
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6a9679a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%log2_adb233 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_adb233
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_adb233
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_adb233
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3194b45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%log2_aea659 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_aea659
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_aea659
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_aea659
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a1f2ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%log2_fb9f0b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %log2_fb9f0b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %log2_fb9f0b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %log2_fb9f0b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..87e6fe0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%max_0c0aae = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 1u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_0c0aae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_0c0aae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_0c0aae
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c00c700
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%max_111ac0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_111ac0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_111ac0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_111ac0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8464743
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_25eafe = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_25eafe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_25eafe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_25eafe
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8b6c226
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_320815 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_320815
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_320815
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_320815
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94a35ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%max_34956e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_34956e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_34956e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_34956e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/445169.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.ir.msl
new file mode 100644
index 0000000..21f5400
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%max_445169 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_445169
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_445169
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_445169
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..63eb350
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%max_44a39d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_44a39d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_44a39d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_44a39d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.msl
new file mode 100644
index 0000000..03721fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_453e04 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(1u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_453e04
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_453e04
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_453e04
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e959868
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_462050 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_462050
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_462050
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_462050
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1f64d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_4883ac = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_4883ac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_4883ac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_4883ac
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f4e33f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_85e6bc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_85e6bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_85e6bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_85e6bc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b97b148
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_a93419 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_a93419
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_a93419
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_a93419
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..934f022
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_b1b73a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(1u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_b1b73a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_b1b73a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_b1b73a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7f648d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%max_ce7c30 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 1i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_ce7c30
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_ce7c30
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_ce7c30
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..25e6a30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%max_e14f2b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_e14f2b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_e14f2b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_e14f2b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..41b7c19
--- /dev/null
+++ b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%max_e8192f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %max_e8192f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %max_e8192f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %max_e8192f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aea9e02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_03c7e3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_03c7e3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_03c7e3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_03c7e3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f0ae94b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_0dc614 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(1u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_0dc614
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_0dc614
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_0dc614
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/364910.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/364910.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/364910.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a4fbd6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_3941e1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_3941e1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_3941e1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_3941e1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6594556
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%min_46c5d3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 1u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_46c5d3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_46c5d3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_46c5d3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/717257.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/717257.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/717257.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/794711.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/794711.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/794711.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f72d4ee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%min_7c710a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_7c710a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_7c710a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_7c710a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..63ef028
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_82b28f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_82b28f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_82b28f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_82b28f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a4ec352
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_93cfc4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_93cfc4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_93cfc4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_93cfc4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c7af7b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_a45171 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_a45171
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_a45171
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_a45171
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dbb7409
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_aa28ad = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_aa28ad
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_aa28ad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_aa28ad
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dff6ef3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%min_ab0acd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_ab0acd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_ab0acd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_ab0acd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..10a69d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%min_ac84d6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_ac84d6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_ac84d6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_ac84d6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bfa4504
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%min_af326d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_af326d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_af326d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_af326d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e5316ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_c70bb7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(1u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_c70bb7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_c70bb7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_c70bb7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.msl
new file mode 100644
index 0000000..82bc01a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%min_c73147 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 1i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_c73147
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_c73147
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_c73147
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e413555
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%min_c76fa6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_c76fa6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_c76fa6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_c76fa6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eb92bf8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%min_e780f9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %min_e780f9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %min_e780f9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %min_e780f9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3b1c5c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_0c8c33 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_0c8c33
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_0c8c33
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_0c8c33
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a2c7386
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_1faeb1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_1faeb1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_1faeb1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_1faeb1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd5fb62
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_2fadab = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_2fadab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_2fadab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_2fadab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7f8b5b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_315264 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_315264
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_315264
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_315264
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0e0d7f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%mix_38cbbb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_38cbbb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_38cbbb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_38cbbb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e860fc4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%mix_4f0b5e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_4f0b5e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_4f0b5e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_4f0b5e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..54abfe7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_63f2fd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_63f2fd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_63f2fd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_63f2fd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f896c16
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_6f8adc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_6f8adc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_6f8adc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_6f8adc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..400bcf3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_98ee3e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_98ee3e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_98ee3e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_98ee3e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e9e2527
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_c1aec6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_c1aec6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_c1aec6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_c1aec6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94dd2ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_c37ede = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_c37ede
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_c37ede
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_c37ede
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1acd890
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_e46a83 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_e46a83
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_e46a83
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_e46a83
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e1fa62c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_ee2468 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_ee2468
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_ee2468
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_ee2468
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cd98373
--- /dev/null
+++ b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%mix_f1a543 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %mix_f1a543
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %mix_f1a543
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %mix_f1a543
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.ir.msl
new file mode 100644
index 0000000..70c006f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%normalize_39d5ec = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.5771484375h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %normalize_39d5ec
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %normalize_39d5ec
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %normalize_39d5ec
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..30da2c1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%normalize_64d8c0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.57735025882720947266f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %normalize_64d8c0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %normalize_64d8c0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %normalize_64d8c0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dcea6af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%normalize_7990f3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.70703125h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %normalize_7990f3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %normalize_7990f3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %normalize_7990f3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5b61979
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%normalize_9a0aab = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.5f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %normalize_9a0aab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %normalize_9a0aab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %normalize_9a0aab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4261df7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%normalize_b8cb8d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.5h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %normalize_b8cb8d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %normalize_b8cb8d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %normalize_b8cb8d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0331b51
--- /dev/null
+++ b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%normalize_fc2ef1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.70710676908493041992f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %normalize_fc2ef1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %normalize_fc2ef1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %normalize_fc2ef1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39f35e0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%pack2x16float_0e97b3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 1006648320u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pack2x16float_0e97b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pack2x16float_0e97b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pack2x16float_0e97b3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fec5659
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%pack2x16snorm_6c169b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 2147450879u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pack2x16snorm_6c169b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pack2x16snorm_6c169b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pack2x16snorm_6c169b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c0e88d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%pack2x16unorm_0f08e4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 4294967295u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pack2x16unorm_0f08e4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pack2x16unorm_0f08e4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pack2x16unorm_0f08e4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d49e9ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%pack4x8snorm_4d22e7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 2139062143u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pack4x8snorm_4d22e7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pack4x8snorm_4d22e7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pack4x8snorm_4d22e7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.msl
new file mode 100644
index 0000000..52a111f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%pack4x8unorm_95c456 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 4294967295u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pack4x8unorm_95c456
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pack4x8unorm_95c456
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pack4x8unorm_95c456
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f08af10
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%pow_04a908 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_04a908
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_04a908
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_04a908
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e5ed890
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%pow_46e029 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_46e029
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_46e029
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_46e029
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d0c8af9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%pow_4a46c9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_4a46c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_4a46c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_4a46c9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7e31b68
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%pow_4f33b2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_4f33b2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_4f33b2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_4f33b2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dcb2eca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%pow_ce9ef5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_ce9ef5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_ce9ef5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_ce9ef5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9a06b3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%pow_e60ea5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_e60ea5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_e60ea5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_e60ea5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d86295
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%pow_f37b25 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_f37b25
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_f37b25
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_f37b25
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f9fbd29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%pow_fa5429 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %pow_fa5429
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %pow_fa5429
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %pow_fa5429
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd0fa1d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%quantizeToF16_12e50e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %quantizeToF16_12e50e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %quantizeToF16_12e50e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %quantizeToF16_12e50e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8582e9b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%quantizeToF16_2cddf3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %quantizeToF16_2cddf3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %quantizeToF16_2cddf3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %quantizeToF16_2cddf3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f79ed61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%quantizeToF16_cba294 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %quantizeToF16_cba294
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %quantizeToF16_cba294
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %quantizeToF16_cba294
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6e58b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%quantizeToF16_e8fd14 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %quantizeToF16_e8fd14
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %quantizeToF16_e8fd14
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %quantizeToF16_e8fd14
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..172a54b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%radians_09b7fc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.01745329238474369049f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_09b7fc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_09b7fc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_09b7fc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3a2b73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%radians_208fd9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.0174407958984375h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_208fd9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_208fd9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_208fd9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c9797b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%radians_44f20b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.0174407958984375h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_44f20b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_44f20b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_44f20b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a4b50ab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%radians_61687a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.01745329238474369049f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_61687a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_61687a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_61687a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..63a94e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%radians_6b0ff2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.01745329238474369049f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_6b0ff2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_6b0ff2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_6b0ff2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1380cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%radians_7ea4c7 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.0174407958984375h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_7ea4c7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_7ea4c7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_7ea4c7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d336465
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%radians_f96258 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.01745329238474369049f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_f96258
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_f96258
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_f96258
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6f6824e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%radians_fbacf0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.0174407958984375h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %radians_fbacf0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %radians_fbacf0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %radians_fbacf0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe9b6d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%reflect_05357e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(-7.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reflect_05357e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reflect_05357e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reflect_05357e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..63e7ca2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%reflect_310de5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(-7.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reflect_310de5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reflect_310de5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reflect_310de5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b68ca11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%reflect_61ca21 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(-5.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reflect_61ca21
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reflect_61ca21
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reflect_61ca21
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d6a552f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%reflect_b61e10 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(-3.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reflect_b61e10
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reflect_b61e10
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reflect_b61e10
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c6eef7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%reflect_bb15ac = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(-3.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reflect_bb15ac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reflect_bb15ac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reflect_bb15ac
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7fe72e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%reflect_f47fdb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(-5.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reflect_f47fdb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reflect_f47fdb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reflect_f47fdb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9560048
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%refract_0594ba = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(-7.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %refract_0594ba
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %refract_0594ba
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %refract_0594ba
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..19ac7ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%refract_570cb3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(-3.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %refract_570cb3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %refract_570cb3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %refract_570cb3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..473f458
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%refract_7e02e6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(-7.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %refract_7e02e6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %refract_7e02e6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %refract_7e02e6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b7f761
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%refract_8984af = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(-5.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %refract_8984af
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %refract_8984af
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %refract_8984af
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..da261f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%refract_cbc1d2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(-5.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %refract_cbc1d2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %refract_cbc1d2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %refract_cbc1d2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..67c86ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%refract_cd905f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(-3.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %refract_cd905f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %refract_cd905f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %refract_cd905f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.msl
new file mode 100644
index 0000000..65a3d1a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_222177 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(-2147483648i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_222177
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_222177
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_222177
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12b04cd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_35fea9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(2147483648u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_35fea9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_35fea9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_35fea9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a4b1768
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_4dbd6f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(-2147483648i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_4dbd6f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_4dbd6f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_4dbd6f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7cf70cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_7c4269 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, -2147483648i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_7c4269
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_7c4269
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_7c4269
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4008eb9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_a6ccd4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(2147483648u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_a6ccd4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_a6ccd4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_a6ccd4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..00c1faf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_c21bc1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(-2147483648i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_c21bc1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_c21bc1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_c21bc1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7436b95
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_e1f4c1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(2147483648u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_e1f4c1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_e1f4c1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_e1f4c1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b60f770
--- /dev/null
+++ b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%reverseBits_e31adf = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 2147483648u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %reverseBits_e31adf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %reverseBits_e31adf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %reverseBits_e31adf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5cdda20
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%round_106c0b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(4.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_106c0b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_106c0b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_106c0b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8e86712
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%round_1c7897 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(4.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_1c7897
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_1c7897
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_1c7897
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3a8a27
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%round_52c84d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(4.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_52c84d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_52c84d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_52c84d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0619c45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%round_9078ef = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 4.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_9078ef
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_9078ef
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_9078ef
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1f834d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%round_9edc38 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 4.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_9edc38
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_9edc38
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_9edc38
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7a4ddc4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%round_d87e84 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(4.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_d87e84
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_d87e84
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_d87e84
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..67bdd68
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%round_e1bba2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(4.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_e1bba2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_e1bba2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_e1bba2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f88e7f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%round_f665b5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(4.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %round_f665b5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %round_f665b5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %round_f665b5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8e5495c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_270da5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_270da5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_270da5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_270da5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5b29bf0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_462535 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_462535
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_462535
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_462535
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4b6b7bf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_51567f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_51567f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_51567f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_51567f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd9444b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_6bcddf = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_6bcddf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_6bcddf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_6bcddf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.msl
new file mode 100644
index 0000000..921fed1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_a5b571 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_a5b571
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_a5b571
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_a5b571
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6f98c0c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_cd2028 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_cd2028
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_cd2028
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_cd2028
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8be0d03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_dcde71 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_dcde71
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_dcde71
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_dcde71
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d83010
--- /dev/null
+++ b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%saturate_e8df56 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %saturate_e8df56
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %saturate_e8df56
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %saturate_e8df56
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2697c10
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_00b848 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_00b848
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_00b848
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_00b848
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..100963a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_01e2cd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_01e2cd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_01e2cd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_01e2cd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d6b3441
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_087ea4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(1u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_087ea4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_087ea4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_087ea4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/089657.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/089657.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/089657.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e933a97
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%select_10e73b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_10e73b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_10e73b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_10e73b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7af5ece
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%select_1ada2a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_1ada2a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_1ada2a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_1ada2a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..693fae3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_1e960b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_1e960b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_1e960b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_1e960b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9697455
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_266aff = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_266aff
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_266aff
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_266aff
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5d69cab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_28a27e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(1u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_28a27e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_28a27e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_28a27e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2840044
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_3c25ce = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<bool>, read_write> = var, vec3<bool>(true)
+    %4:vec3<bool> = load %res
+    %5:vec3<bool> = eq %4, vec3<bool>(false)
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %select_3c25ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %select_3c25ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %select_3c25ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b376030
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%select_416e14 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_416e14
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_416e14
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_416e14
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/494051.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/494051.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/494051.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff5f795
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_51b047 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
+    %4:vec2<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_51b047
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_51b047
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_51b047
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d128e158
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%select_53d518 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_53d518
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_53d518
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_53d518
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.msl
new file mode 100644
index 0000000..871b424
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_713567 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_713567
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_713567
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_713567
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a3c879
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_78be5f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_78be5f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_78be5f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_78be5f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f99bd9e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_80a9a9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<bool>, read_write> = var, vec3<bool>(true)
+    %4:vec3<bool> = load %res
+    %5:vec3<bool> = eq %4, vec3<bool>(false)
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %select_80a9a9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %select_80a9a9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %select_80a9a9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..82edc27
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%select_830dd9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_830dd9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_830dd9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_830dd9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e08fcc8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%select_86f9bd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_86f9bd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_86f9bd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_86f9bd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3d0895e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_8fa62c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_8fa62c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_8fa62c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_8fa62c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.msl
new file mode 100644
index 0000000..634b52a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%select_99f883 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, u32, read_write> = var, 1u
+    %4:u32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_99f883
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_99f883
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_99f883
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cab78c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%select_a081f1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_a081f1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_a081f1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_a081f1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be5f8d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_a2860e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_a2860e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_a2860e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_a2860e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1345733
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_ab069f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_ab069f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_ab069f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_ab069f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.msl
new file mode 100644
index 0000000..50a8d7e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_b04721 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<u32>, read_write> = var, vec3<u32>(1u)
+    %4:vec3<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_b04721
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_b04721
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_b04721
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..363798f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_bb447f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_bb447f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_bb447f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_bb447f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2c73908
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_bb8aae = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_bb8aae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_bb8aae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_bb8aae
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.msl
new file mode 100644
index 0000000..08de5e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_bf3d29 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_bf3d29
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_bf3d29
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_bf3d29
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c89b0cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_c31f9e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, bool, read_write> = var, true
+    %4:bool = load %res
+    %5:bool = eq %4, false
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %select_c31f9e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %select_c31f9e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %select_c31f9e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d30606
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_c41bd1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<bool>, read_write> = var, vec4<bool>(true)
+    %4:vec4<bool> = load %res
+    %5:vec4<bool> = eq %4, vec4<bool>(false)
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %select_c41bd1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %select_c41bd1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %select_c41bd1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8eb4e02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_c4a4ef = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<u32>, read_write> = var, vec4<u32>(1u)
+    %4:vec4<u32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_c4a4ef
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_c4a4ef
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_c4a4ef
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9f88e89
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_cb9301 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<bool>, read_write> = var, vec2<bool>(true)
+    %4:vec2<bool> = load %res
+    %5:vec2<bool> = eq %4, vec2<bool>(false)
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %select_cb9301
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %select_cb9301
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %select_cb9301
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d00495f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_e3e028 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<bool>, read_write> = var, vec4<bool>(true)
+    %4:vec4<bool> = load %res
+    %5:vec4<bool> = eq %4, vec4<bool>(false)
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %select_e3e028
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %select_e3e028
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %select_e3e028
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..87593d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%select_ebfea2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_ebfea2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_ebfea2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_ebfea2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.ir.msl
new file mode 100644
index 0000000..70fe353
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%select_ed7c13 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_ed7c13
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_ed7c13
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_ed7c13
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8117f40
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_ed8a15 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 1i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %select_ed8a15
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %select_ed8a15
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %select_ed8a15
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.msl
new file mode 100644
index 0000000..63a1302
--- /dev/null
+++ b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%select_fb7e53 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<bool>, read_write> = var, vec2<bool>(true)
+    %4:vec2<bool> = load %res
+    %5:vec2<bool> = eq %4, vec2<bool>(false)
+    %6:bool = all %5
+    %7:i32 = select 0i, 1i, %6
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %select_fb7e53
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %select_fb7e53
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %select_fb7e53
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c555b1a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_159665 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_159665
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_159665
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_159665
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aa1ae96
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_160933 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_160933
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_160933
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_160933
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8bbf0c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%sign_3233fa = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, i32, read_write> = var, 1i
+    %4:i32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_3233fa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_3233fa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_3233fa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ca71c2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_58d779 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<i32>, read_write> = var, vec4<i32>(1i)
+    %4:vec4<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_58d779
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_58d779
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_58d779
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6694d29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_5d283a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_5d283a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_5d283a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_5d283a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a61c1eb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%sign_7c85ea = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_7c85ea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_7c85ea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_7c85ea
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b049006
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_926015 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
+    %4:vec2<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_926015
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_926015
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_926015
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ca3ce6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_9603b1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<i32>, read_write> = var, vec3<i32>(1i)
+    %4:vec3<i32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_9603b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_9603b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_9603b1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.msl
new file mode 100644
index 0000000..faca32a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_b8f634 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_b8f634
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_b8f634
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_b8f634
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3d75707
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_ccdb3c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_ccdb3c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_ccdb3c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_ccdb3c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d88908c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sign_d065d8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_d065d8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_d065d8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_d065d8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c33b5f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%sign_dd790e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sign_dd790e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sign_dd790e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sign_dd790e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4bde070
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sin_01f241 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_01f241
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_01f241
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_01f241
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8580fcb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sin_2c903b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.99951171875h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_2c903b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_2c903b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_2c903b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.ir.msl
new file mode 100644
index 0000000..610f3f1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sin_3cca11 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.99951171875h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_3cca11
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_3cca11
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_3cca11
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fadf78b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sin_4e3979 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_4e3979
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_4e3979
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_4e3979
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ce6cce7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sin_5c0712 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.99951171875h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_5c0712
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_5c0712
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_5c0712
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..14659cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%sin_66a59f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.99951171875h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_66a59f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_66a59f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_66a59f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.msl
new file mode 100644
index 0000000..50cee1a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%sin_b78c91 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_b78c91
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_b78c91
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_b78c91
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c26bcd4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sin_fc8bc4 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sin_fc8bc4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sin_fc8bc4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sin_fc8bc4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..46a4f6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_0908c1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.1748046875h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_0908c1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_0908c1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_0908c1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5b2bd31
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_445e33 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.17520117759704589844f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_445e33
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_445e33
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_445e33
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7a25040
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_69cce2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.1748046875h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_69cce2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_69cce2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_69cce2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.msl
new file mode 100644
index 0000000..509fa94
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_7bb598 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.17520117759704589844f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_7bb598
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_7bb598
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_7bb598
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.ir.msl
new file mode 100644
index 0000000..505cf14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_924f19 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.1748046875h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_924f19
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_924f19
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_924f19
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ee1d38
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_b9860e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.17520117759704589844f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_b9860e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_b9860e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_b9860e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1498d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_ba7e25 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.1748046875h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_ba7e25
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_ba7e25
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_ba7e25
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c6fcbf2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sinh_c9a5eb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.17520117759704589844f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sinh_c9a5eb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sinh_c9a5eb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sinh_c9a5eb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3cc81fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_12c031 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.5h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_12c031
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_12c031
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_12c031
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.msl
new file mode 100644
index 0000000..05ce805
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_392c19 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.5f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_392c19
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_392c19
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_392c19
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5f28d4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_40864c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.5f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_40864c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_40864c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_40864c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d69e18b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_586e12 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.5h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_586e12
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_586e12
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_586e12
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4068a45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_6c4975 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.5f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_6c4975
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_6c4975
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_6c4975
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..90ca756
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_6e7a74 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.5h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_6e7a74
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_6e7a74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_6e7a74
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6388285
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_aad1db = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.5f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_aad1db
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_aad1db
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_aad1db
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..647cc8b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%smoothstep_c43ebd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.5h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %smoothstep_c43ebd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %smoothstep_c43ebd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %smoothstep_c43ebd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..09ca039
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_20c74e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_20c74e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_20c74e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_20c74e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9283e34
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_803d1c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_803d1c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_803d1c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_803d1c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..02c6447
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_895a0c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_895a0c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_895a0c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_895a0c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38d6afa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_8c7024 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_8c7024
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_8c7024
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_8c7024
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4a40ed5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_aa0d7a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_aa0d7a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_aa0d7a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_aa0d7a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d06f8e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_d9ab4d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_d9ab4d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_d9ab4d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_d9ab4d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..57687a0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_ec33e9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_ec33e9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_ec33e9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_ec33e9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba7865
--- /dev/null
+++ b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%sqrt_f8c59a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %sqrt_f8c59a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %sqrt_f8c59a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %sqrt_f8c59a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e767576
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%step_07cb06 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_07cb06
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_07cb06
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_07cb06
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b238ad1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%step_0b073b = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_0b073b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_0b073b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_0b073b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bcfefd9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%step_19accd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_19accd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_19accd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_19accd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.msl
new file mode 100644
index 0000000..52797d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%step_334303 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_334303
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_334303
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_334303
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/415879.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/415879.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/415879.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d399c96
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%step_630d07 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_630d07
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_630d07
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_630d07
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c1a53da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%step_baa320 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_baa320
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_baa320
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_baa320
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8e063ec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%step_cc6b61 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_cc6b61
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_cc6b61
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_cc6b61
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.msl
new file mode 100644
index 0000000..89c7b28
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%step_e2b337 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %step_e2b337
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %step_e2b337
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %step_e2b337
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/storageBarrier/d87211.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/storageBarrier/d87211.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/storageBarrier/d87211.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/subgroupBallot/7e6d0e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupBallot/7e6d0e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..417d78c8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupBallot/7e6d0e.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%subgroupBallot_7e6d0e = func():void -> %b2 {
+  %b2 = block {
+    %3:vec4<u32> = subgroupBallot
+    %res:ptr<function, vec4<u32>, read_write> = var, %3
+    %5:vec4<u32> = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %subgroupBallot_7e6d0e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/08beca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupBroadcast/08beca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dec41c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/08beca.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%subgroupBroadcast_08beca = func():void -> %b2 {
+  %b2 = block {
+    %3:f32 = subgroupBroadcast 1.0f, 1u
+    %res:ptr<function, f32, read_write> = var, %3
+    %5:f32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %subgroupBroadcast_08beca
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/1d79c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupBroadcast/1d79c7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5cb0a86
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/1d79c7.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%subgroupBroadcast_1d79c7 = func():void -> %b2 {
+  %b2 = block {
+    %3:i32 = subgroupBroadcast 1i, 1u
+    %res:ptr<function, i32, read_write> = var, %3
+    %5:i32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %subgroupBroadcast_1d79c7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/c36fe1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupBroadcast/c36fe1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1da946
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/c36fe1.wgsl.expected.ir.msl
@@ -0,0 +1,29 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%subgroupBroadcast_c36fe1 = func():void -> %b2 {
+  %b2 = block {
+    %3:u32 = subgroupBroadcast 1u, 1u
+    %res:ptr<function, u32, read_write> = var, %3
+    %5:u32 = load %res
+    store %prevent_dce, %5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %7:void = call %subgroupBroadcast_c36fe1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ee6ce4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%tan_244e2a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.55740773677825927734f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_244e2a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_244e2a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_244e2a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2281e91
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%tan_2f030e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.55740773677825927734f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_2f030e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_2f030e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_2f030e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae36752
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%tan_539e54 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.556640625h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_539e54
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_539e54
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_539e54
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8be24ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%tan_7ea104 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.55740773677825927734f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_7ea104
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_7ea104
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_7ea104
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c3e579
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%tan_8ce3e9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.55740773677825927734f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_8ce3e9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_8ce3e9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_8ce3e9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6ffc49
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%tan_9f7c9c = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.556640625h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_9f7c9c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_9f7c9c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_9f7c9c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.ir.msl
new file mode 100644
index 0000000..895856e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%tan_d4d491 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.556640625h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_d4d491
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_d4d491
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_d4d491
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.ir.msl
new file mode 100644
index 0000000..77eaa73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%tan_db0456 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.556640625h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tan_db0456
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tan_db0456
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tan_db0456
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a4984c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_06a4fe = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.76123046875h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_06a4fe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_06a4fe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_06a4fe
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1b5de82
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_5663c5 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.76159417629241943359f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_5663c5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_5663c5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_5663c5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b3dc121
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_5724b3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.76159417629241943359f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_5724b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_5724b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_5724b3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a5edad9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_5b19af = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 0.76123046875h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_5b19af
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_5b19af
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_5b19af
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e90a5b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_6d105a = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(0.76123046875h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_6d105a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_6d105a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_6d105a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..42002cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_9f9fb9 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.76159417629241943359f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_9f9fb9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_9f9fb9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_9f9fb9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..18b58c2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_c15fdb = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 0.76159417629241943359f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_c15fdb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_c15fdb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_c15fdb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1460e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%tanh_e8efb3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(0.76123046875h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %tanh_e8efb3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %tanh_e8efb3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %tanh_e8efb3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureBarrier/3d0f7e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureBarrier/3d0f7e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureBarrier/3d0f7e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0c7e03e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_00348c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_00348c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_00348c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_00348c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/01e21e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/01e21e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3d6213a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/01e21e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_01e21e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32uint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_01e21e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_01e21e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_01e21e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/01edb1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/01edb1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1613b80
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/01edb1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_01edb1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8uint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_01edb1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_01edb1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_01edb1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.msl
new file mode 100644
index 0000000..663d020a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_022903 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:u32 = textureDimensions %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_022903
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_022903
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_022903
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0276ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0276ec.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38c1a30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0276ec.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0276ec = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16uint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0276ec
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0276ec
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0276ec
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/029589.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/029589.wgsl.expected.ir.msl
new file mode 100644
index 0000000..925e89e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/029589.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_029589 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_029589
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_029589
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_029589
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..533bc3e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0329b0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16sint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0329b0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0329b0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0329b0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/033195.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/033195.wgsl.expected.ir.msl
new file mode 100644
index 0000000..395def0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/033195.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_033195 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16float, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_033195
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_033195
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_033195
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..70b1052
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_033ea7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8unorm, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_033ea7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_033ea7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_033ea7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/038847.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/038847.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3acb5bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/038847.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_038847 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8sint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_038847
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_038847
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_038847
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/03f81e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/03f81e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4df50ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/03f81e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_03f81e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8snorm, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_03f81e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_03f81e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_03f81e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3f00be3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_07f1ba = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_07f1ba
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_07f1ba
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_07f1ba
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e239cd5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_088918 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8unorm, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_088918
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_088918
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_088918
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4e75218
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0890c6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0890c6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0890c6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0890c6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f2c7f0d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_08e371 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_08e371
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_08e371
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_08e371
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/09140b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/09140b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9df585c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/09140b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_09140b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32uint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_09140b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_09140b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_09140b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0973c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0973c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8f3d6e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0973c9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0973c9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0973c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0973c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0973c9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0baa0d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0baa0d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..99d2672
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0baa0d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0baa0d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0baa0d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0baa0d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0baa0d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0c0b0c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0c0b0c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..791b5e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0c0b0c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0c0b0c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16float, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0c0b0c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0c0b0c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0c0b0c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f1f5aa7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0d4a7c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0d4a7c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0d4a7c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0d4a7c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0de70c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0de70c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d9da2b5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0de70c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0de70c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8unorm, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0de70c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0de70c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0de70c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ed5a1d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_0ff9a4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube_array = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_0ff9a4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_0ff9a4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_0ff9a4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2ac8564
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_135176 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_135176
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_135176
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_135176
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.msl
new file mode 100644
index 0000000..05ece5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_13f8db = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_13f8db
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_13f8db
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_13f8db
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1417dd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/1417dd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c1d4923
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/1417dd.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_1417dd = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_1417dd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_1417dd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_1417dd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/15aa17.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/15aa17.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5520728
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/15aa17.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_15aa17 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32sint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_15aa17
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_15aa17
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_15aa17
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2de97fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_15b577 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_15b577
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_15b577
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_15b577
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..540b2ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_1a2be7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_1a2be7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_1a2be7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_1a2be7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ce4354b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_1b720f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16sint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_1b720f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_1b720f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_1b720f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff8aa37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_1bc428 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_1bc428
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_1bc428
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_1bc428
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b536c94
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_1bd78c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_1bd78c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_1bd78c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_1bd78c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1e4024.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/1e4024.wgsl.expected.ir.msl
new file mode 100644
index 0000000..89d2f1c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/1e4024.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_1e4024 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_1e4024
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_1e4024
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_1e4024
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/20eaad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/20eaad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2d62641
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/20eaad.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_20eaad = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16sint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_20eaad
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_20eaad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_20eaad
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/20ecef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/20ecef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8660b9c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/20ecef.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_20ecef = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32float, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_20ecef
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_20ecef
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_20ecef
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.msl
new file mode 100644
index 0000000..337d1f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_212362 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32float, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_212362
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_212362
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_212362
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/224113.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/224113.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bb22616
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/224113.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_224113 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8unorm, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_224113
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_224113
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_224113
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9f730c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_22b5b6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_22b5b6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_22b5b6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_22b5b6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9672aab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_24db07 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_24db07
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_24db07
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_24db07
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2674d8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2674d8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..90f4848
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/2674d8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_2674d8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_2674d8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_2674d8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_2674d8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5d558b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_268ddb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32uint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_268ddb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_268ddb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_268ddb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2d616a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_26d6bf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_26d6bf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_26d6bf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_26d6bf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/283b58.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/283b58.wgsl.expected.ir.msl
new file mode 100644
index 0000000..43d62ac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/283b58.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_283b58 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32float, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_283b58
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_283b58
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_283b58
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ca5940
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_284c27 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32float, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_284c27
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_284c27
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_284c27
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2a58b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2a58b7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b4c5ce2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/2a58b7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_2a58b7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_2a58b7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_2a58b7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_2a58b7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1d90f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_2bafdf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<bgra8unorm, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_2bafdf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_2bafdf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_2bafdf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fbb18b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_2dc5c5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8uint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_2dc5c5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_2dc5c5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_2dc5c5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..54b353f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_2e443d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_2e443d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_2e443d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_2e443d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e64f398
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_2fd2a4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_2fd2a4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_2fd2a4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_2fd2a4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6553bc1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_2ff32a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32float, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_2ff32a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_2ff32a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_2ff32a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cad56e3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_305dd5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_305dd5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_305dd5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_305dd5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/31799c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/31799c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cb24ca4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/31799c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_31799c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32uint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_31799c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_31799c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_31799c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/31d00d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/31d00d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..809ceb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/31d00d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_31d00d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32uint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_31d00d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_31d00d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_31d00d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/325338.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/325338.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c5313d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/325338.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_325338 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_325338
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_325338
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_325338
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4cf2132
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_346fee = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_346fee
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_346fee
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_346fee
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/35a7e5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/35a7e5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..68c9ebc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/35a7e5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_35a7e5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16uint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_35a7e5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_35a7e5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_35a7e5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/35ee69.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/35ee69.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ad28676
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/35ee69.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_35ee69 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32uint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_35ee69
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_35ee69
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_35ee69
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/36eeb7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/36eeb7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..77c37ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/36eeb7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_36eeb7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_36eeb7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_36eeb7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_36eeb7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/378a65.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/378a65.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f12d51
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/378a65.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_378a65 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_378a65
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_378a65
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_378a65
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2b3d493
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_382b16 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_382b16
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_382b16
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_382b16
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3834f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3834f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1151498
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3834f8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3834f8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3834f8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3834f8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3834f8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/38c9ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/38c9ca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd78a43
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/38c9ca.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_38c9ca = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_38c9ca
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_38c9ca
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_38c9ca
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5ee5060
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3963d0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3963d0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3963d0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3963d0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..67386b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_397dab = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_397dab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_397dab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_397dab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3a5bb1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3a5bb1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4778968
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3a5bb1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3a5bb1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32float, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3a5bb1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3a5bb1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3a5bb1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3a7b69.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3a7b69.wgsl.expected.ir.msl
new file mode 100644
index 0000000..783a7cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3a7b69.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3a7b69 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3a7b69
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3a7b69
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3a7b69
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3af3e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3af3e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b8c935
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3af3e7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3af3e7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8unorm, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3af3e7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3af3e7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3af3e7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a8dc54
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3b38f6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3b38f6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3b38f6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3b38f6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3baab5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3baab5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..00b6676
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3baab5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3baab5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3baab5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3baab5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3baab5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3bf12a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3bf12a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bd37561
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3bf12a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3bf12a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3bf12a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3bf12a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3bf12a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..427b636
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3c66f0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3c66f0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3c66f0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3c66f0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f80283
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3f3474 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3f3474
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3f3474
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3f3474
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df6c5e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3fc3dc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3fc3dc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3fc3dc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3fc3dc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a1b17ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_3ff0a5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_3ff0a5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_3ff0a5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_3ff0a5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/40c671.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/40c671.wgsl.expected.ir.msl
new file mode 100644
index 0000000..58c933e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/40c671.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_40c671 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8sint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_40c671
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_40c671
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_40c671
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/40ecf4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/40ecf4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df7abfb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/40ecf4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_40ecf4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_40ecf4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_40ecf4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_40ecf4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/41545f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/41545f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2be0132
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/41545f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_41545f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_41545f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_41545f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_41545f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.msl
new file mode 100644
index 0000000..976fcee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_423519 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32uint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_423519
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_423519
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_423519
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/427f92.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/427f92.wgsl.expected.ir.msl
new file mode 100644
index 0000000..74ca2f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/427f92.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_427f92 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_427f92
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_427f92
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_427f92
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/439651.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/439651.wgsl.expected.ir.msl
new file mode 100644
index 0000000..87f8f75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/439651.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_439651 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_439651
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_439651
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_439651
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79e94b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_445376 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_445376
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_445376
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_445376
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/44b358.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/44b358.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7801093
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/44b358.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_44b358 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32uint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_44b358
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_44b358
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_44b358
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/452fc1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/452fc1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a097e86
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/452fc1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_452fc1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_452fc1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_452fc1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_452fc1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94edec8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_46f0fc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_46f0fc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_46f0fc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_46f0fc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fab0404
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4716a4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4716a4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4716a4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4716a4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3b7f000
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_475c10 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8uint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_475c10
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_475c10
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_475c10
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.msl
new file mode 100644
index 0000000..23fa5a7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_49a067 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_49a067
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_49a067
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_49a067
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4acec7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4acec7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b204664
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4acec7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4acec7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4acec7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4acec7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4acec7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4b26ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4b26ef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12e5394
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4b26ef.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4b26ef = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8unorm, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4b26ef
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4b26ef
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4b26ef
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be6b386
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4be71b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4be71b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4be71b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4be71b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d430fdd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4d1f71 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4d1f71
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4d1f71
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4d1f71
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4d27b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4d27b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d7fb249
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4d27b3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4d27b3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32sint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4d27b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4d27b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4d27b3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4df14c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4df14c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9815e47
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4df14c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4df14c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32uint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4df14c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4df14c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4df14c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4e540a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4e540a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..28d77f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/4e540a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_4e540a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32sint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_4e540a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_4e540a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_4e540a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9ebb787
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_528c0e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_528c0e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_528c0e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_528c0e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4ddb4f1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_52cf60 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_52cf60
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_52cf60
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_52cf60
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..83aa738
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_534ef8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_534ef8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_534ef8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_534ef8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/55fdeb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/55fdeb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..04fe015
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/55fdeb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_55fdeb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<bgra8unorm, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_55fdeb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_55fdeb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_55fdeb
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5703b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/5703b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d6aa84
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/5703b3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_5703b3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<bgra8unorm, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_5703b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_5703b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_5703b3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/579eee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/579eee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4a8115d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/579eee.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_579eee = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_579eee
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_579eee
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_579eee
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/58a82d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/58a82d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4b46aa8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/58a82d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_58a82d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16uint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_58a82d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_58a82d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_58a82d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/591981.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/591981.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c1347f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/591981.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_591981 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16sint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_591981
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_591981
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_591981
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/599ab5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/599ab5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f005736
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/599ab5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_599ab5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_599ab5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_599ab5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_599ab5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5b4b10.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/5b4b10.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4ab2044
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/5b4b10.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_5b4b10 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<bgra8unorm, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_5b4b10
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_5b4b10
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_5b4b10
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b5d0295
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_5df042 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_5df042
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_5df042
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_5df042
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/607979.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/607979.wgsl.expected.ir.msl
new file mode 100644
index 0000000..72d662c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/607979.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_607979 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32sint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_607979
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_607979
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_607979
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.msl
new file mode 100644
index 0000000..815d261
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_609d34 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_609d34
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_609d34
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_609d34
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/617dc8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/617dc8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd1fe8d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/617dc8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_617dc8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32float, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_617dc8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_617dc8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_617dc8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fad2853
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_62cb5a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_62cb5a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_62cb5a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_62cb5a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3736c4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_62e7ae = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_62e7ae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_62e7ae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_62e7ae
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9e4e0c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_64dc74 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_64dc74
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_64dc74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_64dc74
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/674058.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/674058.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d0113bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/674058.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_674058 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_674058
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_674058
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_674058
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.msl
new file mode 100644
index 0000000..14d5150
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_6dae40 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32float, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_6dae40
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_6dae40
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_6dae40
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e05051e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_6dbef4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32sint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_6dbef4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_6dbef4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_6dbef4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..492ef7d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_6e6c7a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_6e6c7a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_6e6c7a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_6e6c7a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..acd94bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_6e72c5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_6e72c5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_6e72c5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_6e72c5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e12c896
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_6f1b5d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_6f1b5d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_6f1b5d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_6f1b5d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5cec4e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_709357 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16uint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_709357
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_709357
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_709357
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/70dd33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/70dd33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e4a3430
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/70dd33.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_70dd33 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32sint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_70dd33
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_70dd33
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_70dd33
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/715917.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/715917.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d605f15
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/715917.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_715917 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_715917
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_715917
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_715917
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7228de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7228de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..65eea71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7228de.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7228de = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32uint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7228de
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7228de
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7228de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b28a659
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7327fa = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8snorm, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7327fa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7327fa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7327fa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/740e7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/740e7c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c9c45a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/740e7c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_740e7c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32sint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_740e7c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_740e7c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_740e7c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.msl
new file mode 100644
index 0000000..975f324
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_756031 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_756031
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_756031
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_756031
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/756304.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/756304.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a70931
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/756304.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_756304 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_756304
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_756304
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_756304
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44dcc1d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_790e57 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8sint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_790e57
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_790e57
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_790e57
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/795fbb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/795fbb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c6bb41a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/795fbb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_795fbb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_795fbb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_795fbb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_795fbb
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.msl
new file mode 100644
index 0000000..32c9df5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_797c30 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32uint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_797c30
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_797c30
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_797c30
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d78b25a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_79d168 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_79d168
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_79d168
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_79d168
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.msl
new file mode 100644
index 0000000..28863fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7a3890 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7a3890
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7a3890
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7a3890
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.msl
new file mode 100644
index 0000000..74dc445
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7a9e30 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7a9e30
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7a9e30
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7a9e30
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a25ee1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7c753b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32float, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7c753b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7c753b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7c753b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7c7c64.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7c7c64.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98f63d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7c7c64.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7c7c64 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7c7c64
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7c7c64
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7c7c64
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0c0b24a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7d8439 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32uint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7d8439
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7d8439
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7d8439
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7ea4b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7ea4b5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc51472
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7ea4b5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7ea4b5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8sint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7ea4b5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7ea4b5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7ea4b5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a768d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_7edb05 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_7edb05
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_7edb05
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_7edb05
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bd43007
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8057cb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<bgra8unorm, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8057cb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8057cb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8057cb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8243a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8243a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a7ae87
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8243a1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8243a1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<bgra8unorm, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8243a1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8243a1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8243a1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/835f90.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/835f90.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ace061c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/835f90.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_835f90 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_835f90
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_835f90
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_835f90
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c1668f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_841ebe = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8sint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_841ebe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_841ebe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_841ebe
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/84f363.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/84f363.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a2f6952
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/84f363.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_84f363 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<bgra8unorm, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_84f363
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_84f363
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_84f363
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/867ead.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/867ead.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8c5e17c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/867ead.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_867ead = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_867ead
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_867ead
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_867ead
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a48137a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_879b73 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_879b73
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_879b73
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_879b73
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dfc6994
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_87b42d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_87b42d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_87b42d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_87b42d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5110b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_881dd4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_881dd4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_881dd4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_881dd4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8a2b17.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8a2b17.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6614e6a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8a2b17.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8a2b17 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32sint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8a2b17
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8a2b17
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8a2b17
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8a35f9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8a35f9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e5dfe4e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8a35f9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8a35f9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8a35f9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8a35f9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8a35f9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8b9906.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8b9906.wgsl.expected.ir.msl
new file mode 100644
index 0000000..186ff82
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8b9906.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8b9906 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8uint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8b9906
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8b9906
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8b9906
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8bd369.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8bd369.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c23d67
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8bd369.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8bd369 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8bd369
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8bd369
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8bd369
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e47cee8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8e15f4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8e15f4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8e15f4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8e15f4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..63f56e2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8e5de6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32sint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8e5de6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8e5de6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8e5de6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8efd47.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8efd47.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b421b56
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/8efd47.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_8efd47 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32sint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_8efd47
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_8efd47
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_8efd47
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/902179.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/902179.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3985cbc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/902179.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_902179 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32float, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_902179
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_902179
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_902179
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d349359
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_904b0f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_904b0f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_904b0f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_904b0f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/90dd74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/90dd74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b66d442
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/90dd74.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_90dd74 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_90dd74
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_90dd74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_90dd74
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/91e3b4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/91e3b4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f391d12
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/91e3b4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_91e3b4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32sint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_91e3b4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_91e3b4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_91e3b4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.msl
new file mode 100644
index 0000000..860fbde
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_920006 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:u32 = textureDimensions %4, 1i
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_920006
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_920006
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_920006
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/92552e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/92552e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d2b8237
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/92552e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_92552e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8sint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_92552e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_92552e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_92552e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9573f3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9573f3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0ec14a2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9573f3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9573f3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9573f3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9573f3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9573f3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e9a006f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_965645 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_965645
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_965645
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_965645
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a8d3da0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_98b2d3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_98b2d3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_98b2d3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_98b2d3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2c78545
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_991ea9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_991ea9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_991ea9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_991ea9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9944d5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9944d5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c9fbfc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9944d5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9944d5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32uint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9944d5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9944d5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9944d5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d512af7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9b10a0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9b10a0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9b10a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9b10a0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3abb068
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9b223b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9b223b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9b223b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9b223b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7047b20
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9baf27 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9baf27
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9baf27
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9baf27
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.msl
new file mode 100644
index 0000000..61a19d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9c7a00 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:u32 = textureDimensions %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9c7a00
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9c7a00
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9c7a00
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..938b3ec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9cd4ca = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9cd4ca
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9cd4ca
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9cd4ca
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9cd8ad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9cd8ad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ddf86bf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9cd8ad.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9cd8ad = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32float, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9cd8ad
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9cd8ad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9cd8ad
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f9d421
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9d0bac = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9d0bac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9d0bac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9d0bac
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..04f5d97
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9d68b8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8snorm, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9d68b8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9d68b8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9d68b8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d94e5a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9dc27a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9dc27a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9dc27a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9dc27a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9add57a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9e0794 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9e0794
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9e0794
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9e0794
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..17032a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_9fcc3b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube_array = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_9fcc3b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_9fcc3b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_9fcc3b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a105a5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a105a5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f8e969
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a105a5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a105a5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32uint, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a105a5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a105a5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a105a5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a14386.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a14386.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15cfe67
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a14386.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a14386 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a14386
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a14386
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a14386
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7576994
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a1598a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a1598a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a1598a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a1598a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6edf059
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a25d9b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8unorm, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a25d9b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a25d9b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a25d9b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b709b93
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a2ba5e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a2ba5e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a2ba5e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a2ba5e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.msl
new file mode 100644
index 0000000..554a29e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a3ea91 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16float, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a3ea91
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a3ea91
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a3ea91
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6710833
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a48049 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a48049
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a48049
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a48049
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c08d746
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a4cd56 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a4cd56
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a4cd56
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a4cd56
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f6099e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a65776 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a65776
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a65776
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a65776
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a7ae4c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a7ae4c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0b992a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/a7ae4c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_a7ae4c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8snorm, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_a7ae4c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_a7ae4c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_a7ae4c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/aa4353.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/aa4353.wgsl.expected.ir.msl
new file mode 100644
index 0000000..52772f3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/aa4353.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_aa4353 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_aa4353
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_aa4353
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_aa4353
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5d8d12
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_aac604 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:u32 = textureDimensions %4, 1u
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_aac604
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_aac604
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_aac604
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ad7d3b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ad7d3b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..724f756
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ad7d3b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ad7d3b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8uint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ad7d3b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ad7d3b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ad7d3b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ae4595.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ae4595.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a2d3c0e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ae4595.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ae4595 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32float, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ae4595
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ae4595
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ae4595
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ae75a7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ae75a7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c1943a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ae75a7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ae75a7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16uint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ae75a7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ae75a7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ae75a7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/af46ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/af46ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..035b0f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/af46ab.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_af46ab = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_af46ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_af46ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_af46ab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b16352.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b16352.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d263ce5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b16352.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b16352 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b16352
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b16352
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b16352
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b284b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b284b8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cf8f9ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b284b8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b284b8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b284b8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b284b8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b284b8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98c78e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b3ab5e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b3ab5e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b3ab5e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b3ab5e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.msl
new file mode 100644
index 0000000..660be75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b46d97 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:u32 = textureDimensions %4, 1i
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b46d97
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b46d97
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b46d97
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b51345.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b51345.wgsl.expected.ir.msl
new file mode 100644
index 0000000..588584a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b51345.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b51345 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32float, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b51345
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b51345
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b51345
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c3ce5c5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b56112 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b56112
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b56112
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b56112
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.msl
new file mode 100644
index 0000000..df2706c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b5ba03 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16float, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b5ba03
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b5ba03
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b5ba03
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b5d68e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b5d68e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe700f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b5d68e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b5d68e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b5d68e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b5d68e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b5d68e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..140934e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b6bbf4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16uint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b6bbf4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b6bbf4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b6bbf4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b8287f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b8287f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0c878b0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b8287f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b8287f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b8287f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b8287f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b8287f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.msl
new file mode 100644
index 0000000..db7cb144
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_b9e7ef = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32sint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_b9e7ef
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_b9e7ef
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_b9e7ef
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7a637e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_bb95d9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_bb95d9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_bb95d9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_bb95d9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bbe285.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/bbe285.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a30cd4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/bbe285.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_bbe285 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_bbe285
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_bbe285
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_bbe285
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bc96f6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/bc96f6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0eb3b44
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/bc96f6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_bc96f6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_bc96f6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_bc96f6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_bc96f6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a1c9c04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_bd94c8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube_array = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_bd94c8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_bd94c8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_bd94c8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cfbdd83
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_bec716 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32float, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_bec716
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_bec716
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_bec716
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2367fb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_bf9170 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8snorm, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_bf9170
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_bf9170
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_bf9170
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e86df01
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c1189e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c1189e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c1189e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c1189e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c1dbf6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c1dbf6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..920de1e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c1dbf6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c1dbf6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c1dbf6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c1dbf6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c1dbf6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c27466.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c27466.wgsl.expected.ir.msl
new file mode 100644
index 0000000..48f508a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c27466.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c27466 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16sint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c27466
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c27466
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c27466
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..673b3af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c2cdd3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_multisampled_2d = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c2cdd3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c2cdd3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c2cdd3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c44fc1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c44fc1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..58e50b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c44fc1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c44fc1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c44fc1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c44fc1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c44fc1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ca62b29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c5a36e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c5a36e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c5a36e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c5a36e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c6b44c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c6b44c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f05d60d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c6b44c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c6b44c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c6b44c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c6b44c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c6b44c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c7ea63.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c7ea63.wgsl.expected.ir.msl
new file mode 100644
index 0000000..61f596a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c7ea63.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c7ea63 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32float, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c7ea63
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c7ea63
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c7ea63
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c82420.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c82420.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5513299
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c82420.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c82420 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c82420
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c82420
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c82420
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..daf7021
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_c871f3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_c871f3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_c871f3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_c871f3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ca10cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ca10cc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..161fedc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ca10cc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ca10cc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ca10cc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ca10cc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ca10cc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cad3b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/cad3b7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3a7100
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/cad3b7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_cad3b7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32sint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_cad3b7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_cad3b7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_cad3b7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cc947b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/cc947b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..47b542e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/cc947b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_cc947b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8snorm, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_cc947b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_cc947b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_cc947b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6a45c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_cd3033 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_cd3033
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_cd3033
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_cd3033
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..93b2dd5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:626 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_external, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_cdc6c9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_external = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_cdc6c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_cdc6c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_cdc6c9
+    ret
+  }
+}
+
+Multiplanar external texture transform was not run.
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a2ed8df
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_cedabd = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32sint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_cedabd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_cedabd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_cedabd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2181623
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_cf2b50 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<f32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_cf2b50
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_cf2b50
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_cf2b50
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38da4ee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d0778e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32uint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d0778e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d0778e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d0778e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d08a94.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d08a94.wgsl.expected.ir.msl
new file mode 100644
index 0000000..75d396d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d08a94.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d08a94 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16sint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d08a94
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d08a94
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d08a94
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d1b882.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d1b882.wgsl.expected.ir.msl
new file mode 100644
index 0000000..410768b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d1b882.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d1b882 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d1b882
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d1b882
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d1b882
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c407c38
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d3accd = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d3accd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d3accd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d3accd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f25461
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d44ac3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<bgra8unorm, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d44ac3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d44ac3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d44ac3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b58195f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d44dd1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16uint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d44dd1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d44dd1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d44dd1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d63c28.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d63c28.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1e3ff88
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d63c28.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d63c28 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d63c28
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d63c28
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d63c28
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..78c1037
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d6f3cf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d6f3cf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d6f3cf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d6f3cf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d8ba68.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d8ba68.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e1b7a46
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d8ba68.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d8ba68 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d8ba68
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d8ba68
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d8ba68
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d8f887.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/d8f887.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9790a45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/d8f887.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_d8f887 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8uint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_d8f887
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_d8f887
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_d8f887
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/da30d2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/da30d2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0030b1b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/da30d2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_da30d2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32float, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_da30d2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_da30d2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_da30d2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..85c6223
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_daf0fe = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_daf0fe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_daf0fe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_daf0fe
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6e195ec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_db7131 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32sint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_db7131
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_db7131
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_db7131
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dc83ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/dc83ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b3cb17b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/dc83ce.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_dc83ce = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_dc83ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_dc83ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_dc83ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b46352e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_de03c6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32uint, read> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_de03c6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_de03c6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_de03c6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/deb3c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/deb3c0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..425a613
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/deb3c0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_deb3c0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16float, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_deb3c0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_deb3c0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_deb3c0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dee461.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/dee461.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cac0bee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/dee461.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_dee461 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8snorm, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_dee461
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_dee461
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_dee461
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.msl
new file mode 100644
index 0000000..341336d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_dfdc32 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_dfdc32
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_dfdc32
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_dfdc32
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e122fe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e122fe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..efdd3a0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e122fe.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e122fe = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8snorm, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e122fe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e122fe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e122fe
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38a2c42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e18a8b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e18a8b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e18a8b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e18a8b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0f16875
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e4bfd2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<u32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e4bfd2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e4bfd2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e4bfd2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.msl
new file mode 100644
index 0000000..473f8ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e4e310 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e4e310
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e4e310
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e4e310
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4f021.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e4f021.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2bcd42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4f021.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e4f021 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e4f021
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e4f021
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e4f021
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e50eb8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e50eb8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2c7ed53
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e50eb8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e50eb8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e50eb8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e50eb8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e50eb8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c5c8391
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e5a203 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e5a203
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e5a203
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e5a203
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e738f4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e738f4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9c1b109
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e738f4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e738f4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32sint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e738f4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e738f4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e738f4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e824b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e824b6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c7ffd9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e824b6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e824b6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e824b6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e824b6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e824b6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e99308.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e99308.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9dc92fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/e99308.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_e99308 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16uint, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_e99308
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_e99308
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_e99308
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ea066c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ea066c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..530a84f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ea066c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ea066c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32float, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ea066c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ea066c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ea066c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ea25bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ea25bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d2a32b8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ea25bc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ea25bc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32uint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ea25bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ea25bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ea25bc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be46609
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_eafe19 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1u
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_eafe19
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_eafe19
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_eafe19
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb03b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eb03b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..403db14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb03b1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_eb03b1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_eb03b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_eb03b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_eb03b1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb10d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eb10d6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c72bf46
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb10d6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_eb10d6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8unorm, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_eb10d6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_eb10d6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_eb10d6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb1249.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eb1249.wgsl.expected.ir.msl
new file mode 100644
index 0000000..449b3cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb1249.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_eb1249 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32uint, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_eb1249
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_eb1249
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_eb1249
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb9f4d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eb9f4d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..71e21aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb9f4d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_eb9f4d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_eb9f4d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_eb9f4d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_eb9f4d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ed1030.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ed1030.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f39979f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ed1030.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ed1030 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32uint, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ed1030
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ed1030
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ed1030
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ef2e58.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ef2e58.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d3974d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/ef2e58.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_ef2e58 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32sint, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_ef2e58
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_ef2e58
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_ef2e58
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be97976
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f17acd = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:u32 = textureDimensions %4, 1i
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f17acd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f17acd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f17acd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f264a3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f264a3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..97f70de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f264a3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f264a3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32sint, write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f264a3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f264a3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f264a3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f3a2ac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f3a2ac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f57bc31
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f3a2ac.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f3a2ac = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16float, write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f3a2ac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f3a2ac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f3a2ac
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f406ff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f406ff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a402e7a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f406ff.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f406ff = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8unorm, read_write> = load %arg_0
+    %5:u32 = textureDimensions %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f406ff
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f406ff
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f406ff
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9aa7043
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f4321c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32sint, read> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f4321c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f4321c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f4321c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.msl
new file mode 100644
index 0000000..33146ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f48886 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f48886
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f48886
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f48886
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f4e469.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f4e469.wgsl.expected.ir.msl
new file mode 100644
index 0000000..189c080
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f4e469.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f4e469 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32float, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f4e469
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f4e469
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f4e469
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f55a94.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f55a94.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f0b5c2c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f55a94.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f55a94 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8snorm, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f55a94
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f55a94
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f55a94
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5f23178
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f626b3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f626b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f626b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f626b3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5100361
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f7bac5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f7bac5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f7bac5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f7bac5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c540c2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f8522e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f8522e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f8522e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f8522e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f93ece.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f93ece.wgsl.expected.ir.msl
new file mode 100644
index 0000000..69b47f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f93ece.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f93ece = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32float, read_write> = load %arg_0
+    %5:vec3<u32> = textureDimensions %4
+    %res:ptr<function, vec3<u32>, read_write> = var, %5
+    %7:vec3<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f93ece
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f93ece
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f93ece
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f94e55.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f94e55.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39d732b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/f94e55.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_f94e55 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32float, read_write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_f94e55
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_f94e55
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_f94e55
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fbb15a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/fbb15a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..823466c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/fbb15a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_fbb15a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<bgra8unorm, write> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_fbb15a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_fbb15a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_fbb15a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4ebf839
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureDimensions_fdf6e9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec2<u32> = textureDimensions %4, 1i
+    %res:ptr<function, vec2<u32>, read_write> = var, %5
+    %7:vec2<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureDimensions_fdf6e9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureDimensions_fdf6e9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureDimensions_fdf6e9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0218a90
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_0166ec = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_0166ec
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_0166ec
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_0166ec
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2187c08
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_04fa78 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_04fa78
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_04fa78
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_04fa78
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5af4e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_10c554 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_10c554
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_10c554
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_10c554
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dcb1e5b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_11b2db = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_11b2db
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_11b2db
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_11b2db
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc52ea9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_17baac = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_17baac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_17baac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_17baac
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9bd4ab9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_1bf0ab = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_1bf0ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_1bf0ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_1bf0ab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e7e1cb5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_1f7f6b = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_1f7f6b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_1f7f6b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_1f7f6b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.msl
new file mode 100644
index 0000000..16551a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_22e930 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_22e930
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_22e930
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_22e930
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5a11624
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_238ec4 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_238ec4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_238ec4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_238ec4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e591313
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_24b0bd = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_24b0bd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_24b0bd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_24b0bd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bde59b0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_269250 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_269250
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_269250
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_269250
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c0d219
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_2a4f40 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_2a4f40
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_2a4f40
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_2a4f40
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c508dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_2cc066 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_2cc066
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_2cc066
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_2cc066
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c506e45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_2e0ed5 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_2e0ed5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_2e0ed5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_2e0ed5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a5d737b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_32c4e8 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_32c4e8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_32c4e8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_32c4e8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3fbe8af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_3b32cc = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_3b32cc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_3b32cc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_3b32cc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6c713ac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_43025d = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_43025d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_43025d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_43025d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd914f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_445793 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_445793
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_445793
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_445793
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44e9f04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_49b07f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_49b07f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_49b07f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_49b07f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9977de7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_4b8103 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_4b8103
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_4b8103
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_4b8103
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d445928
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_4e8ac5 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_4e8ac5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_4e8ac5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_4e8ac5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9dab6ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_5266da = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_5266da
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_5266da
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_5266da
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aa7ad54
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_59372a = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_59372a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_59372a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_59372a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e4e258c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_5ba85f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_5ba85f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_5ba85f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_5ba85f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.msl
new file mode 100644
index 0000000..25c2e42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_5bd491 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_5bd491
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_5bd491
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_5bd491
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..263045d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_6b7b74 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_6b7b74
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_6b7b74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_6b7b74
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a74e50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_751f8a = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_751f8a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_751f8a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_751f8a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.msl
new file mode 100644
index 0000000..100e633
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_788010 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_788010
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_788010
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_788010
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f2f63ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_7c3828 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_7c3828
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_7c3828
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_7c3828
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae9cf8e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_7dd226 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_7dd226
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_7dd226
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_7dd226
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f84b586
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_829357 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_829357
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_829357
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_829357
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b061342
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_831549 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_831549
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_831549
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_831549
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5c3efce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_8578bc = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_8578bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_8578bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_8578bc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..22c44a2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_89680f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_89680f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_89680f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_89680f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8688018
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_8b754c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_8b754c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_8b754c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_8b754c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c381e25
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_8fae00 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_8fae00
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_8fae00
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_8fae00
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c2f91fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_92ea47 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_92ea47
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_92ea47
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_92ea47
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0711f18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_986700 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_986700
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_986700
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_986700
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5ac8413
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_9a6358 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_9a6358
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_9a6358
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_9a6358
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..78f14f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_9ab41e = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_9ab41e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_9ab41e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_9ab41e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4fb4eb9d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_a0372b = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_a0372b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_a0372b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_a0372b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d5c9cb6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_a68027 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_a68027
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_a68027
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_a68027
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a71502
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_aaf6bd = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_aaf6bd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_aaf6bd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_aaf6bd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0bd2198
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_af55b3 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_af55b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_af55b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_af55b3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5883844
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_bb3ac5 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_bb3ac5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_bb3ac5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_bb3ac5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e39c9ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_bd33b6 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_bd33b6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_bd33b6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_bd33b6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..926df1f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_be276f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_be276f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_be276f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_be276f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4d1c722
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_c0640c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_c0640c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_c0640c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_c0640c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.msl
new file mode 100644
index 0000000..17708c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_ccadde = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_ccadde
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_ccadde
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_ccadde
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8549ab6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_ce5578 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_ce5578
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_ce5578
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_ce5578
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0fdf9ee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_cf9112 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_cf9112
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_cf9112
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_cf9112
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c53f981
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_d1f187 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_d1f187
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_d1f187
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_d1f187
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..af05fac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_d4b5c6 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_d4b5c6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_d4b5c6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_d4b5c6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6d411eb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_d6507c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_d6507c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_d6507c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_d6507c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff046c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_d8e958 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_d8e958
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_d8e958
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_d8e958
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f27b6f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_d90605 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureGather %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_d90605
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_d90605
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_d90605
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8650695
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_d98d59 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_d98d59
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_d98d59
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_d98d59
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ac1d39f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_dc6661 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_dc6661
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_dc6661
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_dc6661
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d19a2a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_e2acac = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_e2acac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_e2acac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_e2acac
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a96fac2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_e3165f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_e3165f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_e3165f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_e3165f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.msl
new file mode 100644
index 0000000..725c401
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_e9d390 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<i32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<i32> = textureGather 1i, %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %7
+    %9:vec4<i32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_e9d390
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_e9d390
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_e9d390
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..992c546
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_ea8eb4 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<f32> = textureGather 1u, %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_ea8eb4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_ea8eb4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_ea8eb4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cf79f32
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_1:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 1)
+  %arg_2:ptr<handle, sampler, read> = var @binding_point(1, 2)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGather_f2c6e3 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<u32> = load %arg_1
+    %6:sampler = load %arg_2
+    %7:vec4<u32> = textureGather 1i, %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %7
+    %9:vec4<u32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGather_f2c6e3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGather_f2c6e3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGather_f2c6e3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff56ba0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_144a9a = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec2<f32>(1.0f), 1u, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_144a9a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_144a9a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_144a9a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..da86e42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_182fd4 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec3<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_182fd4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_182fd4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_182fd4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..954a423
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_2e409c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec3<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_2e409c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_2e409c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_2e409c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.msl
new file mode 100644
index 0000000..43ce8b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_313add = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec2<f32>(1.0f), 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_313add
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_313add
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_313add
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9e53cd6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_60d2d1 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec3<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_60d2d1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_60d2d1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_60d2d1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c6d4793
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_6d9352 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec2<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_6d9352
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_6d9352
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_6d9352
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2391548
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_783e65 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec2<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_783e65
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_783e65
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_783e65
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.msl
new file mode 100644
index 0000000..06ce2f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_b5bc43 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec2<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_b5bc43
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_b5bc43
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_b5bc43
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bd9ec67
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureGatherCompare_f585cc = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:vec4<f32> = textureGatherCompare %5, %6, vec2<f32>(1.0f), 1i, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureGatherCompare_f585cc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureGatherCompare_f585cc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureGatherCompare_f585cc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ffe1ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_012e11 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_012e11
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_012e11
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_012e11
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9d9c2f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_019da0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_019da0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_019da0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_019da0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.msl
new file mode 100644
index 0000000..362b77c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_01cd01 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_01cd01
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_01cd01
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_01cd01
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c5ab72
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_026217 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_026217
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_026217
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_026217
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ae791f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_02c48d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_02c48d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_02c48d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_02c48d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..09d1b0c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_02ef1f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_02ef1f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_02ef1f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_02ef1f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c3610ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_03e03e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_03e03e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_03e03e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_03e03e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9580aa4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_045ec9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_045ec9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_045ec9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_045ec9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.msl
new file mode 100644
index 0000000..696b307
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_04b911 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1i, 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_04b911
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_04b911
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_04b911
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff2c4fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_050c33 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_050c33
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_050c33
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_050c33
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9840be6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_054350 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_054350
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_054350
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_054350
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..21c73f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_0674b1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_0674b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_0674b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_0674b1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.msl
new file mode 100644
index 0000000..89a364e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_06ac37 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_06ac37
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_06ac37
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_06ac37
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a036e37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_072e26 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_072e26
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_072e26
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_072e26
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ffe2f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_078bc4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_078bc4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_078bc4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_078bc4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b85527b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_0b515a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_0b515a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_0b515a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_0b515a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.msl
new file mode 100644
index 0000000..47d8563
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_0cb698 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_0cb698
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_0cb698
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_0cb698
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12ab12c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_10db82 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_10db82
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_10db82
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_10db82
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c29b9d3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_126466 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_126466
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_126466
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_126466
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d3b7261
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_127e12 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_127e12
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_127e12
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_127e12
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a2bd942
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1373dc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1373dc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1373dc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1373dc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d3bc9b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_13d539 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_13d539
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_13d539
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_13d539
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..01f4e37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_13e90c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_13e90c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_13e90c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_13e90c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3e4c1a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_143d84 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_143d84
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_143d84
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_143d84
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d5b7dee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1471b8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1471b8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1471b8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1471b8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..35b29d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_14cc4c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_14cc4c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_14cc4c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_14cc4c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e9abd0e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1561a7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1561a7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1561a7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1561a7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d3b32ec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_15e675 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_15e675
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_15e675
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_15e675
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2160668
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1619bf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1619bf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1619bf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1619bf
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c079bc7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_168dc8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_168dc8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_168dc8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_168dc8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.msl
new file mode 100644
index 0000000..23e7200
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_170593 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_170593
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_170593
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_170593
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..22fdd350d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_17095b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_17095b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_17095b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_17095b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9fc5fbd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_18ac11 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_18ac11
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_18ac11
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_18ac11
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe56fac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_19cf87 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_19cf87
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_19cf87
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_19cf87
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d94e2d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_19d6be = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_19d6be
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_19d6be
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_19d6be
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..66d8c6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1a062f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1a062f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1a062f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1a062f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e87d82c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1a8452 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1a8452
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1a8452
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1a8452
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15e5c55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1aa950 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1aa950
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1aa950
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1aa950
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c34197a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1b051f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1b051f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1b051f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1b051f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7e86846
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1b4332 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1b4332
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1b4332
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1b4332
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d73b32
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1b8588 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1b8588
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1b8588
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1b8588
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe4feed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1bc5ab = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1bc5ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1bc5ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1bc5ab
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2cfe9c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:626 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_external, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1bfdfb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_external = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1bfdfb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1bfdfb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1bfdfb
+    ret
+  }
+}
+
+Multiplanar external texture transform was not run.
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..72e9458
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1c562a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1c562a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1c562a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1c562a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..727d3b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1d43ae = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1d43ae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1d43ae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1d43ae
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..81b4cea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1e6baa = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1e6baa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1e6baa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1e6baa
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e4a09be
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1eb93f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1eb93f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1eb93f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1eb93f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4f6a369
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_1f2016 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_1f2016
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_1f2016
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_1f2016
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.msl
new file mode 100644
index 0000000..25ffac9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_206a08 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_206a08
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_206a08
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_206a08
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6cf62bf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_20fa2f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_20fa2f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_20fa2f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_20fa2f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ff6643f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_216c37 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_216c37
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_216c37
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_216c37
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..416384d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_21d1c4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_21d1c4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_21d1c4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_21d1c4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5233d04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_223246 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_223246
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_223246
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_223246
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b0057791
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_22e963 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_22e963
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_22e963
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_22e963
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d916c11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_23007a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_23007a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_23007a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_23007a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..373ce937
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2363be = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2363be
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2363be
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2363be
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1181bac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_23ff89 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_23ff89
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_23ff89
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_23ff89
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f2b1d28
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_25b67f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_25b67f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_25b67f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_25b67f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b8693b4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_26b8f6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_26b8f6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_26b8f6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_26b8f6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c6c6ebe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_26c4f8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_26c4f8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_26c4f8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_26c4f8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51147af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_26d7f1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_26d7f1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_26d7f1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_26d7f1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..de665c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_272e7a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_272e7a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_272e7a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_272e7a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fdc4996
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_276a2c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_276a2c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_276a2c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_276a2c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ec7503f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2887d7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2887d7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2887d7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2887d7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a17dbc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2a82d9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2a82d9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2a82d9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2a82d9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.msl
new file mode 100644
index 0000000..286fcf4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2ae485 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2ae485
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2ae485
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2ae485
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b98d25a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2c72ae = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2c72ae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2c72ae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2c72ae
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bc854d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2cee30 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2cee30
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2cee30
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2cee30
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..83d182c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2d479c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2d479c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2d479c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2d479c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7938b57
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2d6cf7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2d6cf7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2d6cf7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2d6cf7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dba4d4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2dbfc2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2dbfc2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2dbfc2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2dbfc2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..849b380
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2e09aa = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2e09aa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2e09aa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2e09aa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3bef550
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2e3552 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2e3552
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2e3552
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2e3552
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.msl
new file mode 100644
index 0000000..48055d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_2eaf31 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_2eaf31
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_2eaf31
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_2eaf31
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.msl
new file mode 100644
index 0000000..19d8fad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_313c73 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_313c73
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_313c73
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_313c73
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d1ce047
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_31db4b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_31db4b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_31db4b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_31db4b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.msl
new file mode 100644
index 0000000..14c0e51
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_321210 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_321210
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_321210
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_321210
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc9f03c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_32a7b8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_32a7b8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_32a7b8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_32a7b8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..21aa630
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_33d3aa = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_33d3aa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_33d3aa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_33d3aa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.msl
new file mode 100644
index 0000000..66381e6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_348827 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_348827
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_348827
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_348827
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..85c76a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_34d97c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_34d97c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_34d97c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_34d97c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7509553
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_374351 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_374351
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_374351
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_374351
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.msl
new file mode 100644
index 0000000..32f7dcc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_388688 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_388688
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_388688
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_388688
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44deb74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_38f8ab = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_38f8ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_38f8ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_38f8ab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12f6dca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_39016c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_39016c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_39016c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_39016c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c61753a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_395447 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_395447
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_395447
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_395447
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.msl
new file mode 100644
index 0000000..61b0ac8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_39ef40 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_39ef40
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_39ef40
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_39ef40
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fc720f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3a2350 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3a2350
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3a2350
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3a2350
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3cc5ff2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3aea13 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3aea13
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3aea13
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3aea13
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..480e505
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3bbc2b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3bbc2b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3bbc2b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3bbc2b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b349ba4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3c0d9e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3c0d9e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3c0d9e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3c0d9e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c7b1672
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3c9587 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3c9587
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3c9587
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3c9587
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..496d6b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3c96e8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3c96e8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3c96e8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3c96e8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6432c4e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3cfb9c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3cfb9c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3cfb9c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3cfb9c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3945d3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3d001b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3d001b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3d001b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3d001b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c28dc5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3d3fd1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3d3fd1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3d3fd1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3d3fd1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6200d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3d9c90 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3d9c90
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3d9c90
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3d9c90
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.msl
new file mode 100644
index 0000000..37a65e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3da3ed = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3da3ed
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3da3ed
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3da3ed
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..84ae233
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_3e5f6a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_3e5f6a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_3e5f6a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_3e5f6a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..442803e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_40ee8b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_40ee8b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_40ee8b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_40ee8b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..941400a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4212a1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4212a1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4212a1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4212a1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6d39740
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_424afd = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_424afd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_424afd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_424afd
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.msl
new file mode 100644
index 0000000..744164f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_42a631 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_42a631
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_42a631
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_42a631
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a84be86
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_43484a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_43484a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_43484a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_43484a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..26a8c2c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_439e2a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_439e2a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_439e2a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_439e2a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1b21eb7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_43cd86 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_43cd86
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_43cd86
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_43cd86
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d997e3b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_44c826 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_44c826
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_44c826
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_44c826
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2b6e276
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4542ae = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4542ae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4542ae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4542ae
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b479b08
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_454347 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_454347
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_454347
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_454347
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98e2392
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4638a0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4638a0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4638a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4638a0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12974bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_469912 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_469912
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_469912
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_469912
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ed6b1b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_46a93f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_46a93f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_46a93f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_46a93f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c025bde
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_46dbf5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_46dbf5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_46dbf5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_46dbf5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..02ff353
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_473d3e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_473d3e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_473d3e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_473d3e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.msl
new file mode 100644
index 0000000..93e28e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_47e818 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_47e818
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_47e818
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_47e818
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e9f8167
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_482627 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_482627
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_482627
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_482627
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0cae638
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_484344 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_484344
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_484344
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_484344
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf402bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_49f76f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_49f76f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_49f76f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_49f76f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a63cebe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4a5c55 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4a5c55
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4a5c55
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4a5c55
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5430441
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4acb64 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4acb64
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4acb64
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4acb64
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4ddccfd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4c15b2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4c15b2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4c15b2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4c15b2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4faa3e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4c1a1e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4c1a1e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4c1a1e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4c1a1e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d67eeba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4c423f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4c423f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4c423f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4c423f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1238fd1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4c67be = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4c67be
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4c67be
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4c67be
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1f97f5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4ccf9a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4ccf9a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4ccf9a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4ccf9a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f8441df
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4cdca5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4cdca5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4cdca5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4cdca5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..91b26db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4db25c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_multisampled_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4db25c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4db25c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4db25c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..788cb6b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4e2c5c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4e2c5c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4e2c5c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4e2c5c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.msl
new file mode 100644
index 0000000..070fda2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4f5496 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4f5496
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4f5496
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4f5496
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79acd14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4f90bb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4f90bb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4f90bb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4f90bb
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2868e18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4fa6ae = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4fa6ae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4fa6ae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4fa6ae
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.msl
new file mode 100644
index 0000000..96fb177
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_4fd803 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_4fd803
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_4fd803
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_4fd803
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c060760
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_505aa2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_505aa2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_505aa2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_505aa2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..381ad84
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_50915c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_50915c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_50915c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_50915c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bb09d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5154e1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5154e1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5154e1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5154e1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b485aba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_519ab5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_519ab5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_519ab5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_519ab5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..25c0d04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_53378a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_53378a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_53378a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_53378a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9247f3d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_53941c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_53941c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_53941c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_53941c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8db452a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_53e142 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_53e142
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_53e142
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_53e142
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b95cd9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_54a59b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_54a59b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_54a59b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_54a59b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..abd2931
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_54e0ce = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_54e0ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_54e0ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_54e0ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bb18031
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_54fb38 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_54fb38
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_54fb38
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_54fb38
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d1fa05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_55e745 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_55e745
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_55e745
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_55e745
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.msl
new file mode 100644
index 0000000..af902a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_560573 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_560573
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_560573
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_560573
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2d9fa2a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_56a000 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_56a000
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_56a000
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_56a000
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ecc34ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_582015 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_582015
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_582015
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_582015
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..458de74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_589eaa = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_589eaa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_589eaa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_589eaa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b784369
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5a2f9d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5a2f9d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5a2f9d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5a2f9d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2b6a9ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5abbf2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5abbf2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5abbf2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5abbf2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f64a29c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5b0f5b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5b0f5b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5b0f5b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5b0f5b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a8a10fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5b4947 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5b4947
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5b4947
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5b4947
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..29576cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5bb7fb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5bb7fb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5bb7fb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5bb7fb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f451eab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5c69f8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5c69f8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5c69f8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5c69f8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c314841
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5cd3fc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5cd3fc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5cd3fc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5cd3fc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..140ac61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5cee3b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5cee3b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5cee3b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5cee3b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..55fadcb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5d0a2f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5d0a2f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5d0a2f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5d0a2f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e49e8c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5d4042 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5d4042
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5d4042
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5d4042
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7f39534
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5e17a7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5e17a7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5e17a7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5e17a7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd4d2e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5e1843 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5e1843
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5e1843
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5e1843
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c0d74d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5e8d3f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5e8d3f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5e8d3f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5e8d3f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5534b33
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5f4473 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5f4473
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5f4473
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5f4473
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..26eae22
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_5feb4d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_5feb4d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_5feb4d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_5feb4d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a297154
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6154d4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6154d4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6154d4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6154d4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..158c307
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_61e2e8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_61e2e8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_61e2e8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_61e2e8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..82ab5a7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_620caa = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_620caa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_620caa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_620caa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.msl
new file mode 100644
index 0000000..faf2f49
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_622278 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_622278
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_622278
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_622278
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0008a73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6273b1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_multisampled_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6273b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6273b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6273b1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a76214a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_62d125 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_62d125
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_62d125
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_62d125
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d4baec6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_62d1de = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_62d1de
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_62d1de
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_62d1de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a3996a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_639962 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_639962
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_639962
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_639962
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e212337
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_63be18 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_63be18
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_63be18
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_63be18
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.msl
new file mode 100644
index 0000000..840099e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_64c372 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_64c372
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_64c372
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_64c372
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a077875
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_656d76 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_656d76
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_656d76
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_656d76
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5ac9af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_65a4d0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_65a4d0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_65a4d0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_65a4d0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a323f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_666010 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_666010
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_666010
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_666010
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1a11fe7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6678b6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6678b6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6678b6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6678b6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9cd5017
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_66be47 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1u, 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_66be47
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_66be47
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_66be47
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a68a3eb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_67d826 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_67d826
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_67d826
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_67d826
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1477c1b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_67edca = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_67edca
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_67edca
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_67edca
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4bd6ac2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_68d273 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_68d273
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_68d273
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_68d273
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..478711e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6925bc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_multisampled_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6925bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6925bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6925bc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1417b3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_69fee5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_69fee5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_69fee5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_69fee5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7c1e6c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6a6871 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6a6871
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6a6871
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6a6871
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1d0c855
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6b77d4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6b77d4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6b77d4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6b77d4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a95d0b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6b8ba6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6b8ba6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6b8ba6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6b8ba6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4290b80
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6ba9ab = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6ba9ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6ba9ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6ba9ab
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aeaf4d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6bf3e2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6bf3e2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6bf3e2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6bf3e2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c7f0ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6bf4b7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6bf4b7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6bf4b7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6bf4b7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d9a16b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6d1fb4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6d1fb4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6d1fb4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6d1fb4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..508e4bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6d376a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6d376a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6d376a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6d376a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3199131
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6d7bb5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6d7bb5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6d7bb5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6d7bb5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2fd9d17
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6e903f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6e903f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6e903f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6e903f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..97615c2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6f0ea8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6f0ea8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6f0ea8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6f0ea8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7e4178
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6f1750 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6f1750
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6f1750
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6f1750
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39b592f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_6f8927 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_6f8927
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_6f8927
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_6f8927
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5a57894
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_714471 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_714471
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_714471
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_714471
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5d4cbd7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_72bb3c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_72bb3c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_72bb3c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_72bb3c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c177890
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_742f1b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_742f1b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_742f1b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_742f1b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.msl
new file mode 100644
index 0000000..84b2794
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_749704 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_749704
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_749704
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_749704
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.msl
new file mode 100644
index 0000000..60cf284
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_74a387 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_74a387
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_74a387
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_74a387
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79b5e5d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_773c46 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_773c46
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_773c46
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_773c46
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b8eb830
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_789045 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_789045
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_789045
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_789045
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a36886e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_79e697 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_79e697
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_79e697
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_79e697
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8cb03f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_7ab4df = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_7ab4df
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_7ab4df
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_7ab4df
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e6edbd3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_7b63e0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1u, 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_7b63e0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_7b63e0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_7b63e0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0adf714
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_7bee94 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_7bee94
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_7bee94
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_7bee94
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ec67113
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_7c90e5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_7c90e5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_7c90e5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_7c90e5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4337af8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_7dab57 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_7dab57
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_7dab57
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_7dab57
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fc69a2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_7e5cbc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_7e5cbc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_7e5cbc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_7e5cbc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c8e5128
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_7fd822 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_7fd822
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_7fd822
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_7fd822
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c929235
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_80dae1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_80dae1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_80dae1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_80dae1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b74c1ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_81c381 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_81c381
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_81c381
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_81c381
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e649576
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_83162f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_83162f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_83162f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_83162f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3cd5a0f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_83cea4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_83cea4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_83cea4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_83cea4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..421bd89
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_83d6e3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_83d6e3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_83d6e3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_83d6e3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d2d04d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_848d85 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_848d85
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_848d85
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_848d85
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d6cbff4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_84a438 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_84a438
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_84a438
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_84a438
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f9648ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_84c728 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_84c728
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_84c728
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_84c728
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5d75c19
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_84dee1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_84dee1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_84dee1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_84dee1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..06dbf7a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8527b1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8527b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8527b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8527b1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.msl
new file mode 100644
index 0000000..00559f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_862833 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_862833
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_862833
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_862833
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ababd9c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_878e24 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_878e24
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_878e24
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_878e24
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.msl
new file mode 100644
index 0000000..68667c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_87be85 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_87be85
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_87be85
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_87be85
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..05e9c70
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_87f0a6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_87f0a6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_87f0a6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_87f0a6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d11e0d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_881349 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_881349
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_881349
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_881349
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7a35365
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_89620b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_89620b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_89620b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_89620b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2e4272f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_897cf3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_897cf3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_897cf3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_897cf3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0c74f16
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8a291b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8a291b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8a291b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8a291b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98c41f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8a9988 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8a9988
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8a9988
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8a9988
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1940de4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:626 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_external, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8acf41 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_external = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8acf41
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8acf41
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8acf41
+    ret
+  }
+}
+
+Multiplanar external texture transform was not run.
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e880d6f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8b62fb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8b62fb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8b62fb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8b62fb
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c16792
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8bf8c2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8bf8c2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8bf8c2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8bf8c2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ce2ce33
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8c6176 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8c6176
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8c6176
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8c6176
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d105a6b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8ccbe3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8ccbe3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8ccbe3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8ccbe3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d493e21
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8d64c3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8d64c3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8d64c3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8d64c3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5b3cf5c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8db0ce = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8db0ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8db0ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8db0ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9462a50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8e5032 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8e5032
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8e5032
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8e5032
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d08fe1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8e68c9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8e68c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8e68c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8e68c9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b53fe1a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8fc29b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8fc29b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8fc29b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8fc29b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8c28517
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_8ff033 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_8ff033
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_8ff033
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_8ff033
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..644e2dd5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_91ede5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_91ede5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_91ede5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_91ede5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d50fd04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9242e7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9242e7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9242e7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9242e7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5fa107c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_92eb1f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_92eb1f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_92eb1f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_92eb1f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0de6245
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_936952 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_936952
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_936952
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_936952
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6b32351
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_93f23e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_93f23e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_93f23e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_93f23e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12acd02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_96efd5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_96efd5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_96efd5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_96efd5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1390a3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_970308 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_970308
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_970308
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_970308
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..274f20f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9885b0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9885b0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9885b0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9885b0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fbc1b15
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9a7c90 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9a7c90
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9a7c90
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9a7c90
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a480c66
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9a8c1e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9a8c1e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9a8c1e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9a8c1e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c4a1e6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9aa733 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9aa733
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9aa733
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9aa733
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.msl
new file mode 100644
index 0000000..180f9f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9b2667 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1i, 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9b2667
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9b2667
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9b2667
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d4f92ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9b5343 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9b5343
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9b5343
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9b5343
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ee7d9bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9c2376 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9c2376
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9c2376
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9c2376
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ad06649
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9c2a14 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9c2a14
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9c2a14
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9c2a14
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f522040
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9cf7df = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9cf7df
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9cf7df
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9cf7df
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..95380ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9d70e9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9d70e9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9d70e9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9d70e9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bee6093
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9de6f5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9de6f5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9de6f5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9de6f5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd26d8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9ed19e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9ed19e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9ed19e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9ed19e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..588a965
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9fa9fd = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9fa9fd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9fa9fd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9fa9fd
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..57e7f5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9fbfd9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9fbfd9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9fbfd9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9fbfd9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..36f13ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_9fd7be = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_9fd7be
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_9fd7be
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_9fd7be
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..28b429c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a03af1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a03af1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a03af1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a03af1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2bfe182
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a24be1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a24be1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a24be1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a24be1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79ac3c7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a2b3f4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a2b3f4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a2b3f4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a2b3f4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6329ab9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a3733f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a3733f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a3733f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a3733f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a342df
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a3f122 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a3f122
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a3f122
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a3f122
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..716be3e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a548a8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a548a8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a548a8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a548a8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5087f1b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a54e11 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a54e11
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a54e11
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a54e11
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6fdd68c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a583c9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a583c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a583c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a583c9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eb04ba7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a5c4e2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a5c4e2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a5c4e2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a5c4e2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7cc744c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a5e0a5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a5e0a5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a5e0a5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a5e0a5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1358923
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a64b1d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a64b1d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a64b1d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a64b1d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..056aa6f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a6a85a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a6a85a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a6a85a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a6a85a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..762e168
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a6b61d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a6b61d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a6b61d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a6b61d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..98b44b3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a7444c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a7444c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a7444c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a7444c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3ccaa0f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a7a3c3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a7a3c3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a7a3c3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a7a3c3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..afd847a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a7bcb4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a7bcb4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a7bcb4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a7bcb4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd0a2c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a7c171 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a7c171
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a7c171
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a7c171
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9ea555
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a8549b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a8549b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a8549b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a8549b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9b79311
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a92b18 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a92b18
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a92b18
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a92b18
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4cfba18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_a9a9f5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_a9a9f5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_a9a9f5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_a9a9f5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.msl
new file mode 100644
index 0000000..253a388
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_aa2579 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_aa2579
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_aa2579
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_aa2579
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4e96fba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_aa6130 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_aa6130
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_aa6130
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_aa6130
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dcd9377
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_aa8a0d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_aa8a0d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_aa8a0d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_aa8a0d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..34771f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_aae7f6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_aae7f6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_aae7f6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_aae7f6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bf6125
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_aae9c3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_aae9c3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_aae9c3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_aae9c3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a93361c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ac64f7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ac64f7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ac64f7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ac64f7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c4816cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_acf22f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_acf22f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_acf22f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_acf22f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1e8fe7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ad551e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ad551e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ad551e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ad551e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd5123e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_aeae73 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_aeae73
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_aeae73
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_aeae73
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51dbb50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_aebc09 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_aebc09
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_aebc09
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_aebc09
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a92628f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_af0507 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_af0507
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_af0507
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_af0507
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2e1e610
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b1bf79 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b1bf79
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b1bf79
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b1bf79
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.msl
new file mode 100644
index 0000000..110f70a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b1ca35 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b1ca35
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b1ca35
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b1ca35
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f344f5a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b24d27 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b24d27
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b24d27
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b24d27
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.msl
new file mode 100644
index 0000000..266468f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b25644 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b25644
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b25644
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b25644
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..701693a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b27c33 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b27c33
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b27c33
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b27c33
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.msl
new file mode 100644
index 0000000..71a382b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b29f71 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b29f71
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b29f71
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b29f71
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..389a80a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b4d6c4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b4d6c4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b4d6c4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b4d6c4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..977d121
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b58c6d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b58c6d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b58c6d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b58c6d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4244bf5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b60a86 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b60a86
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b60a86
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b60a86
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3f0a471
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b60db7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b60db7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b60db7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b60db7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39ca544
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b6ba5d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1i, 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b6ba5d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b6ba5d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b6ba5d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ad4d72e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b6c458 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b6c458
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b6c458
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b6c458
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44ff437
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b73f6b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b73f6b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b73f6b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b73f6b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d823dc2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b75c8f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b75c8f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b75c8f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b75c8f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..adcc331
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b75d4a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b75d4a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b75d4a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b75d4a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aca864d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b7f74f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b7f74f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b7f74f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b7f74f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0b38f6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b80e7e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b80e7e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b80e7e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b80e7e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bdbe35b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_b94d15 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_b94d15
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_b94d15
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_b94d15
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d19570d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ba023a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ba023a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ba023a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ba023a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3929fd2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ba74b2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ba74b2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ba74b2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ba74b2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9a750f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_babdf3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_babdf3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_babdf3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_babdf3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..680e1a9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_bba04a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_bba04a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_bba04a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_bba04a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f08b3bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_bbb762 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_bbb762
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_bbb762
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_bbb762
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.msl
new file mode 100644
index 0000000..84bc912
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_bc3201 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1u, 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_bc3201
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_bc3201
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_bc3201
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d39aef4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_bcbb3c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_bcbb3c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_bcbb3c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_bcbb3c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..52e2726
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_bd990a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_bd990a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_bd990a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_bd990a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e5625b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_bdc67a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_bdc67a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_bdc67a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_bdc67a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6d01d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_bfd154 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_bfd154
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_bfd154
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_bfd154
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b532181
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c02b74 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c02b74
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c02b74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c02b74
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.msl
new file mode 100644
index 0000000..947271a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c07013 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c07013
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c07013
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c07013
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f7f210f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c16e00 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1u, 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c16e00
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c16e00
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c16e00
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc6062a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c21b33 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c21b33
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c21b33
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c21b33
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ffc5794
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c2a480 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c2a480
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c2a480
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c2a480
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2eb0ebb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c2d09a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c2d09a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c2d09a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c2d09a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..22f4bb4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c378ee = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c378ee
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c378ee
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c378ee
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f397844
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c40dcb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c40dcb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c40dcb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c40dcb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c74d38
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c456bc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c456bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c456bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c456bc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..212cb30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c5791b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c5791b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c5791b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c5791b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd5dd3e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c5c86d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c5c86d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c5c86d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c5c86d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.msl
new file mode 100644
index 0000000..89a67c8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c66b20 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c66b20
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c66b20
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c66b20
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be8d896
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c7cbed = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c7cbed
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c7cbed
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c7cbed
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.msl
new file mode 100644
index 0000000..58dfe5a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c7e313 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c7e313
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c7e313
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c7e313
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6769b9f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c80691 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c80691
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c80691
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c80691
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.msl
new file mode 100644
index 0000000..91b4309
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c8ed19 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c8ed19
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c8ed19
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c8ed19
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f114316
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c98bf4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c98bf4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c98bf4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c98bf4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c16c9de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c9b083 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c9b083
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c9b083
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c9b083
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9acff86
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c9cc40 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c9cc40
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c9cc40
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c9cc40
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.msl
new file mode 100644
index 0000000..13f9269
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_c9f310 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_c9f310
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_c9f310
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_c9f310
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c7f6f0a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cac876 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cac876
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cac876
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cac876
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..60079b0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cad5f2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cad5f2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cad5f2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cad5f2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39eb47d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cb57c2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1u, 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cb57c2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cb57c2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cb57c2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7661946
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cdbcf6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cdbcf6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cdbcf6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cdbcf6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ee35614
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cdccd2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cdccd2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cdccd2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cdccd2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.msl
new file mode 100644
index 0000000..85b38f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cdd343 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cdd343
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cdd343
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cdd343
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..21ddd06
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cddf6b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cddf6b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cddf6b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cddf6b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f94a52d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_cec477 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_cec477
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_cec477
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_cec477
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..75174cc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d02afc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d02afc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d02afc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d02afc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2ae711
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d0e351 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d0e351
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d0e351
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d0e351
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6f40db2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d357bb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d357bb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d357bb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d357bb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f93c5ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d37a08 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d37a08
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d37a08
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d37a08
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d7bb46
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d3d8fc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d3d8fc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d3d8fc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d3d8fc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.msl
new file mode 100644
index 0000000..826d576
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d41c72 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d41c72
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d41c72
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d41c72
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.msl
new file mode 100644
index 0000000..54ea4c8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d4df19 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d4df19
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d4df19
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d4df19
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..deffcab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d5c48d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d5c48d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d5c48d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d5c48d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4cd3152
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d72de9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d72de9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d72de9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d72de9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a8ec53e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d7996a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d7996a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d7996a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d7996a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..90feb87
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d79c5c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d79c5c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d79c5c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d79c5c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d68c51c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d80ff3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d80ff3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d80ff3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d80ff3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b00ffd8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d81c57 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d81c57
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d81c57
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d81c57
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.msl
new file mode 100644
index 0000000..36bfddc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d85d61 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d85d61
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d85d61
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d85d61
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1b2853
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d8617f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d8617f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d8617f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d8617f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2012a1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d8be5a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d8be5a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d8be5a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d8be5a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6d48db1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_d91f37 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_d91f37
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_d91f37
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_d91f37
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1ef67fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_dab04f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_dab04f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_dab04f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_dab04f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cbfdf43
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_dbd554 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_dbd554
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_dbd554
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_dbd554
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.msl
new file mode 100644
index 0000000..17bbef5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_dd5859 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_dd5859
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_dd5859
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_dd5859
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f6be212
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_dd8776 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_dd8776
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_dd8776
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_dd8776
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2487b7f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ddeed3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ddeed3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ddeed3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ddeed3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f5755ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_de5a0e = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_de5a0e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_de5a0e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_de5a0e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..427bc41
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_dee8e7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_dee8e7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_dee8e7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_dee8e7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1576f1c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_defd9a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rg32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_defd9a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_defd9a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_defd9a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..04edd2e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_dfdf3b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_dfdf3b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_dfdf3b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_dfdf3b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..84ec4c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e1c3cf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e1c3cf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e1c3cf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e1c3cf
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94a6c3a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e2292f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e2292f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e2292f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e2292f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15daf28
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e2b3a1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e2b3a1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e2b3a1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e2b3a1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.msl
new file mode 100644
index 0000000..89cffb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e2d7da = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e2d7da
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e2d7da
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e2d7da
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3a6b8fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e33285 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e33285
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e33285
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e33285
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.msl
new file mode 100644
index 0000000..19cbb0a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e35f72 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e35f72
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e35f72
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e35f72
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..25df3da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e3b08b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e3b08b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e3b08b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e3b08b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..646f657
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e3d2cc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e3d2cc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e3d2cc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e3d2cc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1919a43
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e57e92 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e57e92
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e57e92
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e57e92
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..149ffcf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e59fdf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e59fdf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e59fdf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e59fdf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.msl
new file mode 100644
index 0000000..81ccb0e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e65916 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e65916
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e65916
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e65916
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..71c2c9b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e893d7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e893d7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e893d7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e893d7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..34841fe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e92dd0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e92dd0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e92dd0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e92dd0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2e2bd15
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_e9eb65 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_e9eb65
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_e9eb65
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_e9eb65
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4414594
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ea2abd = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ea2abd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ea2abd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ea2abd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15306d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_eb573b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_eb573b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_eb573b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_eb573b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd77500
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ebfb92 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ebfb92
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ebfb92
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ebfb92
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bff95f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ecc823 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ecc823
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ecc823
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ecc823
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c34e3f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ed55a8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ed55a8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ed55a8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ed55a8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eda99e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ee33c5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec3<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ee33c5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ee33c5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ee33c5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..18f1dcd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_eecf7d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_eecf7d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_eecf7d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_eecf7d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..833f666
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ef2ec3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rg32sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ef2ec3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ef2ec3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ef2ec3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7aa3f07
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ef5405 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ef5405
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ef5405
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ef5405
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d2d6949
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_efa787 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_efa787
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_efa787
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_efa787
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..12f988f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f0514a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f0514a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f0514a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f0514a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.msl
new file mode 100644
index 0000000..edba4ee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f06b69 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<r32sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f06b69
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f06b69
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f06b69
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..22de56b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f0abad = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f0abad
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f0abad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f0abad
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d5ee9a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f1c549 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f1c549
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f1c549
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f1c549
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8280fc0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f2a7ff = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f2a7ff
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f2a7ff
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f2a7ff
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39a5325
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f2c311 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f2c311
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f2c311
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f2c311
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d4909d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f348d9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f348d9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f348d9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f348d9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7b62973
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f35ac7 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f35ac7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f35ac7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f35ac7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c51e0fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f379e2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f379e2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f379e2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f379e2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c8967f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f56e6f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f56e6f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f56e6f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f56e6f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ee1330a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f5fbc6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f5fbc6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f5fbc6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f5fbc6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0c4881c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f74bd8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rg32float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f74bd8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f74bd8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f74bd8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7346fa8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f7f3bc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f7f3bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f7f3bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f7f3bc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d7b03a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f7f936 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f7f936
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f7f936
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f7f936
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f9e9ca4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f81792 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f81792
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f81792
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f81792
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..292553c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f82eb2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f82eb2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f82eb2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f82eb2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.msl
new file mode 100644
index 0000000..505824e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f85291 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f85291
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f85291
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f85291
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f06bbdb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f8a2e8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<bgra8unorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f8a2e8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f8a2e8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f8a2e8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e59e7ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f92c2d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<r32float, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f92c2d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f92c2d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f92c2d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e62fe0e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_f9eaaf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, 1u
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_f9eaaf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_f9eaaf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_f9eaaf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e4578a7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fc47ff = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8sint, read_write> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fc47ff
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fc47ff
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fc47ff
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aafbdb7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<i32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fc6d36 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read> = load %arg_0
+    %5:vec4<i32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<i32>, read_write> = var, %5
+    %7:vec4<i32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fc6d36
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fc6d36
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fc6d36
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2482c91
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fcd23d = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_multisampled_2d = load %arg_0
+    %5:f32 = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fcd23d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fcd23d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fcd23d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.msl
new file mode 100644
index 0000000..70734e6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fd6442 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u)
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fd6442
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fd6442
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fd6442
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.msl
new file mode 100644
index 0000000..785e313
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fd9606 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fd9606
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fd9606
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fd9606
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..610ae7e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fdebd0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fdebd0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fdebd0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fdebd0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.msl
new file mode 100644
index 0000000..611930f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fe0565 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<u32> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<u32>(1u), 1i
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fe0565
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fe0565
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fe0565
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6180264
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fe222a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_1d<rgba8snorm, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fe222a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fe222a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fe222a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..89b91fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_fe2c1b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
+    %res:ptr<function, vec4<u32>, read_write> = var, %5
+    %7:vec4<u32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_fe2c1b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_fe2c1b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_fe2c1b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.msl
new file mode 100644
index 0000000..68a1042
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_feab99 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_3d<rgba16float, read> = load %arg_0
+    %5:vec4<f32> = textureLoad %4, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %5
+    %7:vec4<f32> = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_feab99
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_feab99
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_feab99
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4522b3b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureLoad_ff1119 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:f32 = textureLoad %4, vec2<i32>(1i), 1i, 1u
+    %res:ptr<function, f32, read_write> = var, %5
+    %7:f32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureLoad_ff1119
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureLoad_ff1119
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureLoad_ff1119
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/014a3b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/014a3b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f07b440
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/014a3b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_014a3b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_014a3b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_014a3b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_014a3b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/071ebc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/071ebc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..39a1614
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/071ebc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_071ebc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_071ebc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_071ebc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_071ebc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0856ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/0856ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..199f16d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0856ae.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_0856ae = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_0856ae
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_0856ae
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_0856ae
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7bbc4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_0ec222 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_0ec222
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_0ec222
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_0ec222
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e777301
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_0fe8dc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_0fe8dc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_0fe8dc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_0fe8dc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/17ccad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/17ccad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f1bf0ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/17ccad.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_17ccad = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_17ccad
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_17ccad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_17ccad
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/1f858a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/1f858a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0c3ea76
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/1f858a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_1f858a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_1f858a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_1f858a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_1f858a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/24d572.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/24d572.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ea559ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/24d572.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_24d572 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_24d572
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_24d572
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_24d572
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3e96cd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_26c9f9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_26c9f9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_26c9f9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_26c9f9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/2a48dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/2a48dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7606d4e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/2a48dc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_2a48dc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_2a48dc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_2a48dc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_2a48dc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..495e07f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_2d95ea = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32uint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_2d95ea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_2d95ea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_2d95ea
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/327d70.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/327d70.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3b10bb9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/327d70.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_327d70 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_327d70
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_327d70
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_327d70
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/32ca10.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/32ca10.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c7106f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/32ca10.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_32ca10 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_32ca10
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_32ca10
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_32ca10
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3465ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/3465ec.wgsl.expected.ir.msl
new file mode 100644
index 0000000..58361e2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3465ec.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_3465ec = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_3465ec
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_3465ec
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_3465ec
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a33f6a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_34cefa = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<f32> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_34cefa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_34cefa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_34cefa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3580ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/3580ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c817e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3580ab.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_3580ab = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_3580ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_3580ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_3580ab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..af207db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_379cc5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_379cc5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_379cc5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_379cc5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/37bc8a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/37bc8a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5056c30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/37bc8a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_37bc8a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_37bc8a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_37bc8a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_37bc8a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/380a60.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/380a60.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3e993fe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/380a60.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_380a60 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_380a60
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_380a60
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_380a60
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.msl
new file mode 100644
index 0000000..26fba61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_3ad143 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_3ad143
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_3ad143
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_3ad143
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38745b3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_3eff89 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_3eff89
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_3eff89
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_3eff89
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6a1cd2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_485774 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_485774
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_485774
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_485774
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.msl
new file mode 100644
index 0000000..27ba8af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_48ef47 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube_array = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_48ef47
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_48ef47
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_48ef47
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..87c7bed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_4adaad = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_4adaad
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_4adaad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_4adaad
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/4c4333.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/4c4333.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f4ea374
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/4c4333.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_4c4333 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_4c4333
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_4c4333
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_4c4333
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/520086.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/520086.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b362d6b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/520086.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_520086 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_520086
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_520086
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_520086
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a7c43b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_52dfc5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_52dfc5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_52dfc5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_52dfc5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/54a654.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/54a654.wgsl.expected.ir.msl
new file mode 100644
index 0000000..684d552
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/54a654.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_54a654 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_54a654
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_54a654
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_54a654
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b88e37e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_555f67 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16uint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_555f67
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_555f67
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_555f67
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/59eb57.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/59eb57.wgsl.expected.ir.msl
new file mode 100644
index 0000000..08f8255
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/59eb57.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_59eb57 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_59eb57
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_59eb57
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_59eb57
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/5ee8f2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/5ee8f2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9aa6417
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/5ee8f2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_5ee8f2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_5ee8f2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_5ee8f2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_5ee8f2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6be5a60
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_5f20d1 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_5f20d1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_5f20d1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_5f20d1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/61bd23.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/61bd23.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5275648
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/61bd23.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_61bd23 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_61bd23
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_61bd23
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_61bd23
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/622aa2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/622aa2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d48fda
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/622aa2.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_622aa2 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_622aa2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_622aa2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_622aa2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f6ad1e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_6b4321 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<i32> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_6b4321
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_6b4321
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_6b4321
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/6da0eb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/6da0eb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a422cd9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/6da0eb.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_6da0eb = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_6da0eb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_6da0eb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_6da0eb
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b885127
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_77be7b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_77be7b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_77be7b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_77be7b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..77f5aae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_7895f4 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_7895f4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_7895f4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_7895f4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/7f28cf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/7f28cf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f28162b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/7f28cf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_7f28cf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_7f28cf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_7f28cf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_7f28cf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/878dea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/878dea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..522fa8a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/878dea.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_878dea = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8sint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_878dea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_878dea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_878dea
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/87faad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/87faad.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1ad65ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/87faad.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_87faad = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32uint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_87faad
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_87faad
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_87faad
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..eea2924
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_8ac32a = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_8ac32a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_8ac32a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_8ac32a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8bd987.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/8bd987.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3d169ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8bd987.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_8bd987 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_8bd987
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_8bd987
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_8bd987
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8dbf23.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/8dbf23.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a3cad19
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8dbf23.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_8dbf23 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8unorm, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_8dbf23
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_8dbf23
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_8dbf23
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8e1bd0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/8e1bd0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..75282c7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8e1bd0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_8e1bd0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_8e1bd0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_8e1bd0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_8e1bd0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..513199b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_90b8cc = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32float, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_90b8cc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_90b8cc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_90b8cc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/9695c6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/9695c6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8f213e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/9695c6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_9695c6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_9695c6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_9695c6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_9695c6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/98a9cf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/98a9cf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bfb3eb0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/98a9cf.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_98a9cf = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_98a9cf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_98a9cf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_98a9cf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c6ae270
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_9c60e3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32uint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_9c60e3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_9c60e3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_9c60e3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/a54655.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/a54655.wgsl.expected.ir.msl
new file mode 100644
index 0000000..74486de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/a54655.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_a54655 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_a54655
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_a54655
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_a54655
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..96c917c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_a9d3f5 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_a9d3f5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_a9d3f5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_a9d3f5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8f67ad1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_bf2f76 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rg32sint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_bf2f76
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_bf2f76
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_bf2f76
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2b54222
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_c1eca9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<u32> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_c1eca9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_c1eca9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_c1eca9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..71cac35
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_d3e21f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8uint, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_d3e21f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_d3e21f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_d3e21f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/d3f655.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/d3f655.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e75a181
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/d3f655.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_d3f655 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_d3f655
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_d3f655
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_d3f655
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/d75a0b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/d75a0b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e8263ac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/d75a0b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_d75a0b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba32float, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_d75a0b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_d75a0b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_d75a0b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/de8087.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/de8087.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d41bdd9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/de8087.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_de8087 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16sint, write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_de8087
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_de8087
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_de8087
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/e47aac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/e47aac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8fc96fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/e47aac.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_e47aac = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_e47aac
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_e47aac
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_e47aac
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e882280
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLayers_f1783f = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_storage_2d_array<rgba16float, read> = load %arg_0
+    %5:u32 = textureNumLayers %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLayers_f1783f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLayers_f1783f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLayers_f1783f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e02dce7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_181090 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<u32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_181090
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_181090
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_181090
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d969be1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_1a3fa9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<i32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_1a3fa9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_1a3fa9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_1a3fa9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..45cb73e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_1a7fc3 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<u32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_1a7fc3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_1a7fc3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_1a7fc3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a3bd139
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_2267d8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<i32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_2267d8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_2267d8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_2267d8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf578a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_24b2c6 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<f32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_24b2c6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_24b2c6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_24b2c6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bfb1bda
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_2bea6c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube_array = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_2bea6c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_2bea6c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_2bea6c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..22b80d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_2df1ab = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<f32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_2df1ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_2df1ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_2df1ab
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1901b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_46dbd8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<f32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_46dbd8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_46dbd8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_46dbd8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e1b3d63
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_60d9b8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<u32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_60d9b8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_60d9b8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_60d9b8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.msl
new file mode 100644
index 0000000..295ff41
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_903920 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<i32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_903920
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_903920
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_903920
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cba68a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_9a1a65 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<i32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_9a1a65
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_9a1a65
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_9a1a65
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.msl
new file mode 100644
index 0000000..808c9f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_adc783 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d_array<i32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_adc783
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_adc783
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_adc783
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f53d7df
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_ae911c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d_array = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_ae911c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_ae911c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_ae911c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b27413e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_c386c8 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube<u32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_c386c8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_c386c8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_c386c8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aeff09d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_c399f9 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<f32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_c399f9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_c399f9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_c399f9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..920460e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_c8c25c = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_cube = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_c8c25c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_c8c25c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_c8c25c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9888865
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_d63126 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_2d = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_d63126
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_d63126
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_d63126
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dedca70
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_d8f73b = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<f32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_d8f73b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_d8f73b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_d8f73b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2c3b05b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_ef7944 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_3d<f32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_ef7944
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_ef7944
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_ef7944
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.msl
new file mode 100644
index 0000000..687d98f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_efd6df = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_2d<u32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_efd6df
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_efd6df
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_efd6df
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c05d08
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_f742c0 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_1d<i32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_f742c0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_f742c0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_f742c0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e39e952
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumLevels_fe2171 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_cube_array<u32> = load %arg_0
+    %5:u32 = textureNumLevels %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumLevels_fe2171
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumLevels_fe2171
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumLevels_fe2171
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd2dc07
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumSamples_50f399 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<u32> = load %arg_0
+    %5:u32 = textureNumSamples %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumSamples_50f399
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumSamples_50f399
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumSamples_50f399
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.msl
new file mode 100644
index 0000000..28de74c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumSamples_c1a777 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<i32> = load %arg_0
+    %5:u32 = textureNumSamples %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumSamples_c1a777
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumSamples_c1a777
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumSamples_c1a777
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b12692e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumSamples_dbb799 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_multisampled_2d<f32> = load %arg_0
+    %5:u32 = textureNumSamples %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumSamples_dbb799
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumSamples_dbb799
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumSamples_dbb799
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2f8220e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.msl
@@ -0,0 +1,43 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%textureNumSamples_ecd321 = func():void -> %b2 {
+  %b2 = block {
+    %4:texture_depth_multisampled_2d = load %arg_0
+    %5:u32 = textureNumSamples %4
+    %res:ptr<function, u32, read_write> = var, %5
+    %7:u32 = load %res
+    store %prevent_dce, %7
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %9:void = call %textureNumSamples_ecd321
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %11:void = call %textureNumSamples_ecd321
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %13:void = call %textureNumSamples_ecd321
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a4825d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_0dff6c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_0dff6c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f685c63
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_17e988 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_17e988
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4dd1bef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_193203 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_193203
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..655fd76
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_1a4e1b = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_1a4e1b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b7f5dff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_2149ec = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec3<f32>(1.0f), vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_2149ec
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bb94541
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_38bbb9 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_38bbb9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf96072
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_3b50bd = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_3b50bd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d03bcc5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_4703d0 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_4703d0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7e749d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_4dd1bf = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_4dd1bf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9f6cd4f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_51b514 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_51b514
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.msl
new file mode 100644
index 0000000..de7a558
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_60bf45 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_60bf45
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd13fc6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_6717ca = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_6717ca
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..339434f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_1d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_6e64fb = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_1d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_6e64fb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c11ddcf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_7e9ffd = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_7e9ffd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3b72de8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_7fd8cb = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_7fd8cb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..99ef344
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_85c4ba = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_85c4ba
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.msl
new file mode 100644
index 0000000..32e8b3e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_bc7477 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_bc7477
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1183281
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_c2f4e8 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_c2f4e8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e455c4f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_d6b281 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_d6b281
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c2947da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_e53267 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSample %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_e53267
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9b9abb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSample_ea7030 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSample %5, %6, vec3<f32>(1.0f)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSample_ea7030
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f085c32
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:626 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_external, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBaseClampToEdge_7c04e6 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_external = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBaseClampToEdge %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBaseClampToEdge_7c04e6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleBaseClampToEdge_7c04e6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleBaseClampToEdge_7c04e6
+    ret
+  }
+}
+
+Multiplanar external texture transform was not run.
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0741e42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBaseClampToEdge_9ca02c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBaseClampToEdge %5, %6, vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBaseClampToEdge_9ca02c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleBaseClampToEdge_9ca02c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleBaseClampToEdge_9ca02c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1e3b90
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_1c707e = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec2<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_1c707e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/53b9f7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/53b9f7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..80acd63
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/53b9f7.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_53b9f7 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec3<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_53b9f7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1d82b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_594824 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec3<f32>(1.0f), 1.0f, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_594824
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/6a9113.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/6a9113.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c8c47ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/6a9113.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_6a9113 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec2<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_6a9113
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.msl
new file mode 100644
index 0000000..537fe0d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_80e579 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec2<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_80e579
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aeffa96
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_87915c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec2<f32>(1.0f), 1u, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_87915c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9cf4617
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_9dbb51 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec2<f32>(1.0f), 1i, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_9dbb51
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..05f27ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_a161cf = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec2<f32>(1.0f), 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_a161cf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..78c41bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_c6953d = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec3<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_c6953d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/d3fa1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/d3fa1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a517b8b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/d3fa1b.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_d3fa1b = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec3<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_d3fa1b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..aa22f60
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleBias_eed7c4 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleBias %5, %6, vec3<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleBias_eed7c4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5cea052
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_1912e5 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec3<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_1912e5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/3a5923.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/3a5923.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fde8cde
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/3a5923.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_3a5923 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec2<f32>(1.0f), 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_3a5923
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/63fb83.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/63fb83.wgsl.expected.ir.msl
new file mode 100644
index 0000000..18dabd8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/63fb83.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_63fb83 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec3<f32>(1.0f), 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_63fb83
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c67c808
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_7b5025 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec2<f32>(1.0f), 1u, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_7b5025
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dad4402
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_90ae56 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec2<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_90ae56
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4876126
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_a3ca7e = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec3<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_a3ca7e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4cb4115
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_af1051 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec2<f32>(1.0f), 1i, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_af1051
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f8b2b62
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_dd431d = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec2<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_dd431d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.ir.msl
new file mode 100644
index 0000000..61a9489
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.ir.msl
@@ -0,0 +1,33 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompare_dec064 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompare %5, %6, vec2<f32>(1.0f), 1.0f, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%fragment_main = @fragment func():void -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompare_dec064
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44009ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_1116ed = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec2<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_1116ed
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_1116ed
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_1116ed
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd46fdb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_1568e3 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec3<f32>(1.0f), 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_1568e3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_1568e3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_1568e3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6d0eb75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_2ad2b1 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec2<f32>(1.0f), 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_2ad2b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_2ad2b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_2ad2b1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2916b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_4cf3a2 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec3<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_4cf3a2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_4cf3a2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_4cf3a2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ed2cee5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_7dc3c0 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec2<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_7dc3c0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_7dc3c0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_7dc3c0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f171e2c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_7f2b9a = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec2<f32>(1.0f), 1.0f, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_7f2b9a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_7f2b9a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_7f2b9a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3b66768
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_958c87 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec3<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_958c87
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_958c87
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_958c87
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..179e858
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_b6e47c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec2<f32>(1.0f), 1i, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_b6e47c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_b6e47c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_b6e47c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c35bb91
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler_comparison, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleCompareLevel_bcb3dd = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler_comparison = load %arg_1
+    %7:f32 = textureSampleCompareLevel %5, %6, vec2<f32>(1.0f), 1u, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleCompareLevel_bcb3dd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleCompareLevel_bcb3dd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleCompareLevel_bcb3dd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dc0dd82
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_21402b = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec3<f32>(1.0f), vec3<f32>(1.0f), vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_21402b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_21402b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_21402b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a87693e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_2ecd8f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec2<f32>(1.0f), 1i, vec2<f32>(1.0f), vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_2ecd8f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_2ecd8f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_2ecd8f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cf7afd4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_521263 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec2<f32>(1.0f), vec2<f32>(1.0f), vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_521263
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_521263
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_521263
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cc9150d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_5312f4 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec3<f32>(1.0f), vec3<f32>(1.0f), vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_5312f4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_5312f4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_5312f4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a27bbfa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_5884dd = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec3<f32>(1.0f), vec3<f32>(1.0f), vec3<f32>(1.0f), vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_5884dd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_5884dd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_5884dd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9b10bef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_7cd6de = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec2<f32>(1.0f), 1u, vec2<f32>(1.0f), vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_7cd6de
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_7cd6de
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_7cd6de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ba1cf37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_a09131 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec2<f32>(1.0f), 1u, vec2<f32>(1.0f), vec2<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_a09131
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_a09131
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_a09131
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f322640
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_bbb58f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec3<f32>(1.0f), 1u, vec3<f32>(1.0f), vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_bbb58f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_bbb58f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_bbb58f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0133a3b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_d4e3c5 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec2<f32>(1.0f), vec2<f32>(1.0f), vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_d4e3c5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_d4e3c5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_d4e3c5
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e064b3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_d65515 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec2<f32>(1.0f), 1i, vec2<f32>(1.0f), vec2<f32>(1.0f), vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_d65515
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_d65515
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_d65515
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.msl
new file mode 100644
index 0000000..804a90a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleGrad_e383db = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleGrad %5, %6, vec3<f32>(1.0f), 1i, vec3<f32>(1.0f), vec3<f32>(1.0f)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleGrad_e383db
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleGrad_e383db
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleGrad_e383db
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b9c2167
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_02be59 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_02be59
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_02be59
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_02be59
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a8c344
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_0b0a1b = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_0b0a1b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_0b0a1b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_0b0a1b
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..900ba71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_0bdd9a = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_0bdd9a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_0bdd9a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_0bdd9a
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.msl
new file mode 100644
index 0000000..114d4d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_1b0291 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_1b0291
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_1b0291
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_1b0291
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0e9951f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_1bf73e = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i, 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_1bf73e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_1bf73e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_1bf73e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7e2a7d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_265cc7 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_265cc7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_265cc7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_265cc7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..83a4615
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_2974eb = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i, 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_2974eb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_2974eb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_2974eb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8a7e3b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_302be4 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_302be4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_302be4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_302be4
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..07f27ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_36780e = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i, 1i, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_36780e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_36780e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_36780e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b28e984
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_36f0d3 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i, 1u, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_36f0d3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_36f0d3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_36f0d3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d83b36
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_3c3442 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u, 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_3c3442
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_3c3442
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_3c3442
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.msl
new file mode 100644
index 0000000..62e88a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_615583 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u, 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_615583
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_615583
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_615583
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6433d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_73e892 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_73e892
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_73e892
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_73e892
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..136a3fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_749baf = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_749baf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_749baf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_749baf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9d7981
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_941a53 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1u, 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_941a53
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_941a53
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_941a53
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d906eb4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_a12142 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1i, 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_a12142
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_a12142
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_a12142
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..36c5614
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_aab3b9 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1u, 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_aab3b9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_aab3b9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_aab3b9
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9c6619b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_abfcc0 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_abfcc0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_abfcc0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_abfcc0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.msl
new file mode 100644
index 0000000..122369b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_ae5e39 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1i, 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_ae5e39
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_ae5e39
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_ae5e39
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1719adc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_ae92a2 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1u
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_ae92a2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_ae92a2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_ae92a2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..893de9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_b7c55c = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1i, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_b7c55c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_b7c55c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_b7c55c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d25cdf4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_c32df7 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_cube<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_c32df7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_c32df7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_c32df7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..313f648
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_c6aca6 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1.0f
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_c6aca6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_c6aca6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_c6aca6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..347cb7b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_cdfe0f = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u, 1u, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_cdfe0f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_cdfe0f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_cdfe0f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6621e8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_3d<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_dcbecb = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_3d<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1.0f, vec3<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_dcbecb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_dcbecb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_dcbecb
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..31be153
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_e6ce9e = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u, 1i, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_e6ce9e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_e6ce9e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_e6ce9e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..073a582
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_2d, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_f3b2c8 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_2d = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u, vec2<i32>(1i)
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_f3b2c8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_f3b2c8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_f3b2c8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8db5399
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_faa6d7 = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_2d_array<f32> = load %arg_0
+    %6:sampler = load %arg_1
+    %7:vec4<f32> = textureSampleLevel %5, %6, vec2<f32>(1.0f), 1u, 1.0f, vec2<i32>(1i)
+    %res:ptr<function, vec4<f32>, read_write> = var, %7
+    %9:vec4<f32> = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_faa6d7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_faa6d7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_faa6d7
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7e50331
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.msl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_depth_cube_array, read> = var @binding_point(1, 0)
+  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%textureSampleLevel_ff11bc = func():void -> %b2 {
+  %b2 = block {
+    %5:texture_depth_cube_array = load %arg_0
+    %6:sampler = load %arg_1
+    %7:f32 = textureSampleLevel %5, %6, vec3<f32>(1.0f), 1u, 1i
+    %res:ptr<function, f32, read_write> = var, %7
+    %9:f32 = load %res
+    store %prevent_dce, %9
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %11:void = call %textureSampleLevel_ff11bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %13:void = call %textureSampleLevel_ff11bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %15:void = call %textureSampleLevel_ff11bc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/031506.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/031506.wgsl.expected.ir.msl
new file mode 100644
index 0000000..15bb19e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/031506.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_031506 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_031506
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_031506
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_031506
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/036d0e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/036d0e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b1268bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/036d0e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_036d0e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_036d0e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_036d0e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_036d0e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/03e7a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/03e7a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8cfecbb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/03e7a0.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_03e7a0 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_03e7a0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_03e7a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_03e7a0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ab7624d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_042b06 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_042b06
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_042b06
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_042b06
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/052a4e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/052a4e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d93e560
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/052a4e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_052a4e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_052a4e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_052a4e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_052a4e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d4921d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_053664 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_053664
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_053664
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_053664
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/05ce15.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/05ce15.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/05ce15.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/064c7f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/064c7f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/064c7f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/068641.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/068641.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/068641.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/07548b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/07548b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/07548b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/09e4d5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/09e4d5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d833050
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/09e4d5.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_09e4d5 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_09e4d5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_09e4d5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_09e4d5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4b85db4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_0ade9a = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_0ade9a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_0ade9a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_0ade9a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/0af6b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/0af6b5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/0af6b5.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/0c3dff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/0c3dff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/0c3dff.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..56dd9d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_0ff97a = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_0ff97a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_0ff97a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_0ff97a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/101325.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/101325.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2440d4f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/101325.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_101325 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_101325
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_101325
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_101325
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/102722.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/102722.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/102722.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/145061.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/145061.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6ee77af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/145061.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_145061 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_145061
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_145061
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_145061
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/178e69.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/178e69.wgsl.expected.ir.msl
new file mode 100644
index 0000000..78c153d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/178e69.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_178e69 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_178e69
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_178e69
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_178e69
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1839f2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1839f2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1839f2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/195d1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/195d1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f2f2ad2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/195d1b.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_195d1b = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_195d1b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_195d1b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_195d1b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/197637.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/197637.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7cf5366
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/197637.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_197637 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_197637
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_197637
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_197637
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7ed6e30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_1a6c0b = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_1a6c0b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_1a6c0b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_1a6c0b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b905817
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_1af236 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_1af236
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_1af236
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_1af236
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1bbd08.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1bbd08.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1bbd08.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1dc954.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1dc954.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1dc954.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1e20f2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1e20f2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1e20f2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..67e38b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_1e9fbd = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_1e9fbd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_1e9fbd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_1e9fbd
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1efc36.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1efc36.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1efc36.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/1fef04.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/1fef04.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cfa3e02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/1fef04.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_1fef04 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_1fef04
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_1fef04
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_1fef04
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bf37743
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_2046db = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_2046db
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_2046db
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_2046db
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/207fdd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/207fdd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/207fdd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2173fd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2173fd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51e9bde
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2173fd.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_2173fd = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_2173fd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_2173fd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_2173fd
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/24e6b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/24e6b7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..adbab21
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/24e6b7.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_24e6b7 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_24e6b7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_24e6b7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_24e6b7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/26a26d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/26a26d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7792768
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/26a26d.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_26a26d = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_26a26d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_26a26d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_26a26d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/26bf70.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/26bf70.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/26bf70.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2796b4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2796b4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2796b4.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/285218.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/285218.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/285218.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/28e109.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/28e109.wgsl.expected.ir.msl
new file mode 100644
index 0000000..76e21d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/28e109.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_28e109 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_28e109
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_28e109
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_28e109
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d17c0a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_2a60c9 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_2a60c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_2a60c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_2a60c9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2ac6c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2ac6c7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2ac6c7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a6ff53f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_2addd6 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_2addd6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_2addd6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_2addd6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2c76db.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2c76db.wgsl.expected.ir.msl
new file mode 100644
index 0000000..06cb596
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2c76db.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_2c76db = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_2c76db
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_2c76db
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_2c76db
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2e4245.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2e4245.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2e4245.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2e6102.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2e6102.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2e6102.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2eb2a4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2eb2a4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2eb2a4.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2ed2a3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2ed2a3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2ed2a3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/2f29ea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/2f29ea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b8ee715
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/2f29ea.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_2f29ea = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_2f29ea
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_2f29ea
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_2f29ea
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d8f0ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_312f27 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_312f27
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_312f27
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_312f27
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/31745b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/31745b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/31745b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/32d3d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/32d3d6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..483a7e2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/32d3d6.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_32d3d6 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_32d3d6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_32d3d6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_32d3d6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..100248d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_3310d3 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_3310d3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_3310d3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_3310d3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/331aee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/331aee.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/331aee.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/345332.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/345332.wgsl.expected.ir.msl
new file mode 100644
index 0000000..72c33f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/345332.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_345332 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_345332
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_345332
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_345332
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3bec15.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3bec15.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3bec15.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3c1937.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3c1937.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3c1937.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3d1ebe.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3d1ebe.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3578d85
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3d1ebe.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_3d1ebe = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_3d1ebe
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_3d1ebe
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_3d1ebe
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3d6f01.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3d6f01.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3d6f01.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3d96a4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3d96a4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4050fe3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3d96a4.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_3d96a4 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_3d96a4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_3d96a4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_3d96a4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ab650d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_3e0dc4 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_3e0dc4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_3e0dc4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_3e0dc4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3f61ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3f61ca.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0b2137d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3f61ca.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_3f61ca = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_3f61ca
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_3f61ca
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_3f61ca
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/3fb31f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/3fb31f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/3fb31f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/40c455.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/40c455.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/40c455.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4288fc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4288fc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4288fc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/441222.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/441222.wgsl.expected.ir.msl
new file mode 100644
index 0000000..82fc47a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/441222.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_441222 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_441222
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_441222
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_441222
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/441ba8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/441ba8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/441ba8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4483e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4483e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ba001c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4483e7.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_4483e7 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_4483e7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_4483e7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_4483e7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/44b372.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/44b372.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e7e7125
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/44b372.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_44b372 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_44b372
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_44b372
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_44b372
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/473ead.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/473ead.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ad609f1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/473ead.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_473ead = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_473ead
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_473ead
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_473ead
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/47bd70.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/47bd70.wgsl.expected.ir.msl
new file mode 100644
index 0000000..96547df
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/47bd70.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_47bd70 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_47bd70
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_47bd70
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_47bd70
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/486500.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/486500.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/486500.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7bbb672
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_48cb56 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_48cb56
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_48cb56
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_48cb56
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4bf1fd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4bf1fd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8384c97
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4bf1fd.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_4bf1fd = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_4bf1fd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_4bf1fd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_4bf1fd
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3eaf12b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_4c76b7 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_4c76b7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_4c76b7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_4c76b7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4cce74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4cce74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c9e6352
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4cce74.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_4cce74 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_4cce74
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_4cce74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_4cce74
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4ddf52.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4ddf52.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2974f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4ddf52.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_4ddf52 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_4ddf52
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_4ddf52
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_4ddf52
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51b2e28
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_4e2b3a = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_4e2b3a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_4e2b3a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_4e2b3a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2ce55eb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5030f5 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5030f5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5030f5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5030f5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/506a71.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/506a71.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/506a71.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/51ec82.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/51ec82.wgsl.expected.ir.msl
new file mode 100644
index 0000000..81bead8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/51ec82.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_51ec82 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_51ec82
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_51ec82
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_51ec82
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5246b4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5246b4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..00db0e3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5246b4.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5246b4 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5246b4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5246b4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5246b4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/52f503.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/52f503.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/52f503.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/53a68b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/53a68b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c2629d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/53a68b.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_53a68b = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_53a68b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_53a68b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_53a68b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5425ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5425ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0d19a14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5425ab.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5425ab = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5425ab
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5425ab
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5425ab
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/544f06.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/544f06.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8d59ecb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/544f06.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_544f06 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_544f06
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_544f06
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_544f06
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..993a3d1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_55f9dc = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_55f9dc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_55f9dc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_55f9dc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/574a31.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/574a31.wgsl.expected.ir.msl
new file mode 100644
index 0000000..18bf6e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/574a31.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_574a31 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_574a31
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_574a31
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_574a31
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/579b93.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/579b93.wgsl.expected.ir.msl
new file mode 100644
index 0000000..053a6ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/579b93.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_579b93 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_579b93
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_579b93
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_579b93
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/58fc35.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/58fc35.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b429ace
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/58fc35.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_58fc35 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_58fc35
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_58fc35
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_58fc35
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5a2f8f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5a2f8f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5a2f8f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3c28799
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5a8b41 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5a8b41
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5a8b41
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5a8b41
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5b17eb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5b17eb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..85b9753
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5b17eb.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5b17eb = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5b17eb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5b17eb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5b17eb
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5b4522.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5b4522.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d3b07ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5b4522.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5b4522 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5b4522
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5b4522
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5b4522
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5ec6b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5ec6b2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c860353
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5ec6b2.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5ec6b2 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5ec6b2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5ec6b2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5ec6b2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e6e9c27
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_5ee194 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_5ee194
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_5ee194
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_5ee194
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/602b5a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/602b5a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/602b5a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.msl
new file mode 100644
index 0000000..de399e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_614b58 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_614b58
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_614b58
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_614b58
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/635584.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/635584.wgsl.expected.ir.msl
new file mode 100644
index 0000000..81d9418
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/635584.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_635584 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_635584
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_635584
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_635584
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/63f34a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/63f34a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9a40a6f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/63f34a.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_63f34a = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_63f34a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_63f34a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_63f34a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/646dbc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/646dbc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79c08a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/646dbc.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_646dbc = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_646dbc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_646dbc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_646dbc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/65b6aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/65b6aa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..87b2ac0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/65b6aa.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_65b6aa = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_65b6aa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_65b6aa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_65b6aa
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/682fd6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/682fd6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/682fd6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6b75c3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6b75c3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6b75c3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6b80d2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6b80d2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6b80d2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6be9e0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6be9e0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5df92c1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6be9e0.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_6be9e0 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_6be9e0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_6be9e0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_6be9e0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6c4a70.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6c4a70.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5fee7ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6c4a70.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_6c4a70 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_6c4a70
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_6c4a70
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_6c4a70
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6cff2e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6cff2e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6cff2e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.msl
new file mode 100644
index 0000000..001e5f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_6d1809 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_6d1809
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_6d1809
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_6d1809
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6d259f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6d259f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cafe49d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6d259f.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_6d259f = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_6d259f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_6d259f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_6d259f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6e6cc0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6e6cc0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9cb376c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6e6cc0.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_6e6cc0 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_6e6cc0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_6e6cc0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_6e6cc0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6f3542.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6f3542.wgsl.expected.ir.msl
new file mode 100644
index 0000000..53ffbbf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6f3542.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_6f3542 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_6f3542
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_6f3542
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_6f3542
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/6fb99b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/6fb99b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..282de11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/6fb99b.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_6fb99b = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_6fb99b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_6fb99b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_6fb99b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..79cf778
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_704e1f = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_704e1f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_704e1f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_704e1f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/706236.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/706236.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0be32fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/706236.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_706236 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_706236
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_706236
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_706236
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5639d76
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_706560 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_706560
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_706560
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_706560
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/726472.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/726472.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/726472.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/726d6d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/726d6d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a6a028d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/726d6d.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_726d6d = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_726d6d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_726d6d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_726d6d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/731349.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/731349.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/731349.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bfce710
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_73a735 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_73a735
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_73a735
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_73a735
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/73bbbc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/73bbbc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/73bbbc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/751256.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/751256.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f878265
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/751256.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_751256 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_751256
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_751256
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_751256
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/752da6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/752da6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/752da6.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2dbe77b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_75bbd5 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_75bbd5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_75bbd5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_75bbd5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7792fa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7792fa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8e5c127
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7792fa.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_7792fa = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_7792fa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_7792fa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_7792fa
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/77c0ae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/77c0ae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/77c0ae.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7b8f86.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7b8f86.wgsl.expected.ir.msl
new file mode 100644
index 0000000..970103d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7b8f86.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_7b8f86 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_7b8f86
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_7b8f86
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_7b8f86
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7cf6e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7cf6e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7cf6e7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7d10e0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7d10e0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..857872b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7d10e0.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_7d10e0 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_7d10e0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_7d10e0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_7d10e0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.msl
new file mode 100644
index 0000000..29bb235
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_7dd042 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_7dd042
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_7dd042
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_7dd042
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7e787a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7e787a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b93b61c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7e787a.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_7e787a = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_7e787a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_7e787a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_7e787a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/7f7fae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/7f7fae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/7f7fae.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/804942.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/804942.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/804942.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/805dae.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/805dae.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/805dae.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/80bf1d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/80bf1d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7027045
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/80bf1d.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_80bf1d = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_80bf1d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_80bf1d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_80bf1d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/818df6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/818df6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..82c9b7f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/818df6.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_818df6 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_818df6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_818df6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_818df6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d95a491
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_81ae31 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_81ae31
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_81ae31
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_81ae31
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.msl
new file mode 100644
index 0000000..50ad138
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_820272 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_820272
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_820272
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_820272
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/83bcc1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/83bcc1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/83bcc1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d8a3f21
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_84d435 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_84d435
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_84d435
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_84d435
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ebbe1b5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_84f4f4 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_84f4f4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_84f4f4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_84f4f4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8676c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8676c9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f86dee2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8676c9.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8676c9 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8676c9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8676c9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8676c9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/86f713.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/86f713.wgsl.expected.ir.msl
new file mode 100644
index 0000000..cb6f11b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/86f713.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_86f713 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_86f713
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_86f713
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_86f713
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/872747.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/872747.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/872747.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/877c92.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/877c92.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a7f2a9d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/877c92.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_877c92 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_877c92
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_877c92
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_877c92
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a9dee69
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8815b1 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8815b1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8815b1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8815b1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/885921.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/885921.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3fe1b69
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/885921.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_885921 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_885921
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_885921
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_885921
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/88ce7e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/88ce7e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2c3c748
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/88ce7e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_88ce7e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_88ce7e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_88ce7e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_88ce7e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1cf7842
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8a16b0 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8a16b0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8a16b0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8a16b0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8a46ff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8a46ff.wgsl.expected.ir.msl
new file mode 100644
index 0000000..38bbef2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8a46ff.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8a46ff = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8a46ff
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8a46ff
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8a46ff
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51af9f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8a85b9 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8a85b9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8a85b9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8a85b9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8a8681.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8a8681.wgsl.expected.ir.msl
new file mode 100644
index 0000000..23f9886
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8a8681.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8a8681 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8a8681
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8a8681
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8a8681
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5d7ba25
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8ae0bc = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8ae0bc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8ae0bc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8ae0bc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8b9310.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8b9310.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8b9310.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8c76e9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8c76e9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8c76e9.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1e94cfb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8cd841 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8cd841
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8cd841
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8cd841
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8dc54f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8dc54f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8dc54f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94187c3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_8ebdc9 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_8ebdc9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_8ebdc9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_8ebdc9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8ed9f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8ed9f8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8ed9f8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8f71a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8f71a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8f71a1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/90960e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/90960e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fa7ab89
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/90960e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_90960e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_90960e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_90960e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_90960e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bae5da6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_90a553 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_90a553
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_90a553
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_90a553
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/958353.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/958353.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/958353.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/959d94.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/959d94.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/959d94.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/95e452.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/95e452.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/95e452.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/969534.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/969534.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/969534.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/976636.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/976636.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6ff9890
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/976636.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_976636 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_976636
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_976636
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_976636
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9a3ecc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9a3ecc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9a3ecc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9aedd3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9aedd3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9aedd3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9ba5c1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9ba5c1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0dba9af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9ba5c1.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_9ba5c1 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_9ba5c1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_9ba5c1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_9ba5c1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f8d6916
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_9cea9e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_9cea9e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_9cea9e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_9cea9e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9d7c62.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9d7c62.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3e444b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9d7c62.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_9d7c62 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_9d7c62
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_9d7c62
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_9d7c62
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9e3ec5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9e3ec5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9e3ec5.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9f5318.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9f5318.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9f5318.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b88f167
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a0022f = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a0022f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a0022f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a0022f
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a14041.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a14041.wgsl.expected.ir.msl
new file mode 100644
index 0000000..94c3549
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a14041.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a14041 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a14041
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a14041
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a14041
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a165b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a165b8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a165b8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a19a12.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a19a12.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7e5d0f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a19a12.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a19a12 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a19a12
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a19a12
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a19a12
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a24491.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a24491.wgsl.expected.ir.msl
new file mode 100644
index 0000000..719fc39
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a24491.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a24491 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a24491
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a24491
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a24491
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a4c338.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a4c338.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a4c338.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a5b88e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a5b88e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..7d52587
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a5b88e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a5b88e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a5b88e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a5b88e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a5b88e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a5c925.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a5c925.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bbc07d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a5c925.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a5c925 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a5c925
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a5c925
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a5c925
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a5e80d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a5e80d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a5e80d.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a66ca4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a66ca4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fbc8309
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a66ca4.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a66ca4 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a66ca4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a66ca4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a66ca4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a6e78f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a6e78f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a6e78f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..51a0ff4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a702b6 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a702b6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a702b6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a702b6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a9298c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a9298c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e83bd48
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a9298c.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_a9298c = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_a9298c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_a9298c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_a9298c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ab03b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ab03b6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e12c20c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ab03b6.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_ab03b6 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_ab03b6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_ab03b6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_ab03b6
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ab788e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ab788e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e178d0f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ab788e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_ab788e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_ab788e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_ab788e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_ab788e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.msl
new file mode 100644
index 0000000..936be54
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_abdd21 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_abdd21
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_abdd21
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_abdd21
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f3a9bbe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_ac0a55 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_ac0a55
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_ac0a55
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_ac0a55
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ac67aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ac67aa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ac67aa.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/aeb38a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/aeb38a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/aeb38a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..afa6857
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_aedea3 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_aedea3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_aedea3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_aedea3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.msl
new file mode 100644
index 0000000..831a9b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b16110 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b16110
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b16110
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b16110
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..90f50f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b286b4 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b286b4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b286b4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b286b4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b36bc1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b36bc1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dcd6b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b36bc1.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b36bc1 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b36bc1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b36bc1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b36bc1
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b4389e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b4389e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..115f07c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b4389e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b4389e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b4389e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b4389e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b4389e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b706b1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b706b1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b706b1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b70ded.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b70ded.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b70ded.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d97c0a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b71c13 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b71c13
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b71c13
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b71c13
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b7232c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b7232c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..89c2184
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b7232c.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b7232c = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b7232c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b7232c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b7232c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b76ff3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b76ff3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b76ff3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b77161.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b77161.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b77161.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b066c54
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b89ffb = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b89ffb
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b89ffb
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b89ffb
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b9c81a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b9c81a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8ea826a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b9c81a.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b9c81a = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b9c81a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b9c81a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b9c81a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9169195
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_b9d863 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_b9d863
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_b9d863
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_b9d863
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/bbcb7f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/bbcb7f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/bbcb7f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f648ca3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_bc1423 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_bc1423
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_bc1423
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_bc1423
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/bcc97a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/bcc97a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c2756c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/bcc97a.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_bcc97a = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_bcc97a
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_bcc97a
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_bcc97a
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ad3a189
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_bd6602 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_bd6602
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_bd6602
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_bd6602
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/be6e30.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/be6e30.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/be6e30.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/bedbfc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/bedbfc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/bedbfc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/bf775c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/bf775c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/bf775c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ea33e66
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_c06463 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_c06463
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_c06463
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_c06463
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c1c664.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c1c664.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c966b2f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c1c664.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_c1c664 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_c1c664
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_c1c664
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_c1c664
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c1f29e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c1f29e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c1f29e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fe119fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_c1f760 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_c1f760
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_c1f760
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_c1f760
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c33478.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c33478.wgsl.expected.ir.msl
new file mode 100644
index 0000000..549511f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c33478.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_c33478 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rg32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_c33478
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_c33478
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_c33478
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5da6320
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_c35268 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_c35268
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_c35268
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_c35268
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c5af1e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c5af1e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c5af1e.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d5bf729
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_c63f05 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_c63f05
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_c63f05
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_c63f05
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c79451.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c79451.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f634cd3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c79451.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_c79451 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_c79451
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_c79451
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_c79451
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/c9d780.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/c9d780.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/c9d780.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/cb3b0b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/cb3b0b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/cb3b0b.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ccac20.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ccac20.wgsl.expected.ir.msl
new file mode 100644
index 0000000..27adbd2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ccac20.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_ccac20 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_ccac20
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_ccac20
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_ccac20
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/cd6755.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/cd6755.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/cd6755.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.msl
new file mode 100644
index 0000000..add810b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_ceb832 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_ceb832
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_ceb832
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_ceb832
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d0d62c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d0d62c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..46cf7be
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d0d62c.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_d0d62c = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_d0d62c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_d0d62c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_d0d62c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..4285ab4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_d0fadc = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_d0fadc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_d0fadc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_d0fadc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d19db4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d19db4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2a108fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d19db4.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_d19db4 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<i32>(1i), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_d19db4
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_d19db4
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_d19db4
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d1ab82.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d1ab82.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a0ae585
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d1ab82.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_d1ab82 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_d1ab82
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_d1ab82
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_d1ab82
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d26166.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d26166.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d26166.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d2b565.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d2b565.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d2b565.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d3a22b.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d3a22b.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1d82607
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d3a22b.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_d3a22b = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_d3a22b
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_d3a22b
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_d3a22b
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d4aa95.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d4aa95.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d4aa95.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d73b5c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d73b5c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d73b5c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d82b0a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d82b0a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d82b0a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.msl
new file mode 100644
index 0000000..900ddc8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_d86d33 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_d86d33
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_d86d33
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_d86d33
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/da530c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/da530c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..6187531
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/da530c.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_da530c = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_da530c
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_da530c
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_da530c
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8e25e06
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_db5128 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_db5128
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_db5128
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_db5128
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/db92a2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/db92a2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/db92a2.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a38f4a1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_dce0e2 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<r32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_dce0e2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_dce0e2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_dce0e2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/dd7d81.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/dd7d81.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/dd7d81.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f018be1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_dd8b29 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_dd8b29
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_dd8b29
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_dd8b29
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/de38e5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/de38e5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..8a069c1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/de38e5.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_de38e5 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_de38e5
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_de38e5
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_de38e5
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/de4b94.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/de4b94.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/de4b94.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/df0c51.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/df0c51.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d01c563
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/df0c51.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_3d<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_df0c51 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_3d<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec3<u32>(1u), vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_df0c51
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_df0c51
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_df0c51
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e077e7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e077e7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..96a14e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e077e7.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_e077e7 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_e077e7
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_e077e7
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_e077e7
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e0b666.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e0b666.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e0b666.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f790806
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_e1784d = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_e1784d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_e1784d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_e1784d
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e46fd8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e46fd8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..fd05964
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e46fd8.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_e46fd8 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<bgra8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_e46fd8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_e46fd8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_e46fd8
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..dd00705
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_e72bdc = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_e72bdc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_e72bdc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_e72bdc
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e7c6d8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e7c6d8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e7c6d8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e87f6e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e87f6e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b46bb3e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e87f6e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_e87f6e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba16sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_e87f6e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_e87f6e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_e87f6e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e885e8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e885e8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e885e8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/e8cbf7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/e8cbf7.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/e8cbf7.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..93fdd90
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_ea30d2 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_ea30d2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_ea30d2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_ea30d2
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/eb702f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/eb702f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/eb702f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/eb78b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/eb78b9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/eb78b9.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ee6acc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ee6acc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ee6acc.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ef9f2f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ef9f2f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ef9f2f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.msl
new file mode 100644
index 0000000..361138b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_f05928 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1u, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_f05928
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_f05928
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_f05928
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f1e6d3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f1e6d3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f1e6d3.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f64d69.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f64d69.wgsl.expected.ir.msl
new file mode 100644
index 0000000..25840cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f64d69.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<r32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_f64d69 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<r32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_f64d69
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_f64d69
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_f64d69
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.msl
new file mode 100644
index 0000000..57335aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_f6f392 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_f6f392
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_f6f392
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_f6f392
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.msl
new file mode 100644
index 0000000..3352751
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_f8aaf9 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), 1i, vec4<i32>(1i)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_f8aaf9
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_f8aaf9
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_f8aaf9
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f8dead.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f8dead.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f8dead.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f975a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f975a0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b408839
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f975a0.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_f975a0 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d<rgba8snorm, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<i32>(1i), vec4<f32>(1.0f)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_f975a0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_f975a0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_f975a0
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/fb9a8f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/fb9a8f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/fb9a8f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..27605a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_fc916e = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
+    %4:void = textureStore %3, vec2<u32>(1u), 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_fc916e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_fc916e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_fc916e
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/fcbe66.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/fcbe66.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/fcbe66.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureStore/ff23b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureStore/ff23b3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..999f7d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureStore/ff23b3.wgsl.expected.ir.msl
@@ -0,0 +1,39 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
+}
+
+%textureStore_ff23b3 = func():void -> %b2 {
+  %b2 = block {
+    %3:texture_storage_1d<rgba16uint, read_write> = load %arg_0
+    %4:void = textureStore %3, 1i, vec4<u32>(1u)
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %textureStore_ff23b3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %textureStore_ff23b3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %textureStore_ff23b3
+    ret
+  }
+}
+
+invalid access control for storage texture
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9ad38d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat3x3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_06794e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat3x3<f16>, read_write> = var, mat3x3<f16>(vec3<f16>(1.0h))
+    %4:mat3x3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_06794e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_06794e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_06794e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.msl
new file mode 100644
index 0000000..91e8cd9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat3x4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_2585cd = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat3x4<f32>, read_write> = var, mat3x4<f32>(vec4<f32>(1.0f))
+    %4:mat3x4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_2585cd
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_2585cd
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_2585cd
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b2c60fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat2x2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_31d679 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat2x2<f32>, read_write> = var, mat2x2<f32>(vec2<f32>(1.0f))
+    %4:mat2x2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_31d679
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_31d679
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_31d679
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0a1b06b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat2x4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_31e37e = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat2x4<f32>, read_write> = var, mat2x4<f32>(vec4<f32>(1.0f))
+    %4:mat2x4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_31e37e
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_31e37e
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_31e37e
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f1dccb0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat4x2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_4ce359 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat4x2<f32>, read_write> = var, mat4x2<f32>(vec2<f32>(1.0f))
+    %4:mat4x2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_4ce359
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_4ce359
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_4ce359
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..407270c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat3x2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_4dc9a1 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat3x2<f32>, read_write> = var, mat3x2<f32>(vec2<f32>(1.0f))
+    %4:mat3x2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_4dc9a1
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_4dc9a1
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_4dc9a1
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b75b369
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat2x4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_5edd96 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat2x4<f16>, read_write> = var, mat2x4<f16>(vec4<f16>(1.0h))
+    %4:mat2x4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_5edd96
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_5edd96
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_5edd96
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..00fb468
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat3x4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_5f36bf = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat3x4<f16>, read_write> = var, mat3x4<f16>(vec4<f16>(1.0h))
+    %4:mat3x4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_5f36bf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_5f36bf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_5f36bf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.msl
new file mode 100644
index 0000000..be2d040
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat2x2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_7be8b2 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat2x2<f16>, read_write> = var, mat2x2<f16>(vec2<f16>(1.0h))
+    %4:mat2x2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_7be8b2
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_7be8b2
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_7be8b2
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.msl
new file mode 100644
index 0000000..55eab2f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat4x4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_844869 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat4x4<f16>, read_write> = var, mat4x4<f16>(vec4<f16>(1.0h))
+    %4:mat4x4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_844869
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_844869
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_844869
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.msl
new file mode 100644
index 0000000..de06f5d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat3x3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_854336 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat3x3<f32>, read_write> = var, mat3x3<f32>(vec3<f32>(1.0f))
+    %4:mat3x3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_854336
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_854336
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_854336
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b6dcde2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat4x3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_8c06ce = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat4x3<f16>, read_write> = var, mat4x3<f16>(vec3<f16>(1.0h))
+    %4:mat4x3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_8c06ce
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_8c06ce
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_8c06ce
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a4b77da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat2x3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_b9ad1f = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat2x3<f16>, read_write> = var, mat2x3<f16>(vec3<f16>(1.0h))
+    %4:mat2x3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_b9ad1f
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_b9ad1f
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_b9ad1f
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.msl
new file mode 100644
index 0000000..2b75b82
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat4x4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_c1b600 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat4x4<f32>, read_write> = var, mat4x4<f32>(vec4<f32>(1.0f))
+    %4:mat4x4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_c1b600
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_c1b600
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_c1b600
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.msl
new file mode 100644
index 0000000..11097de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat3x2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_d6faec = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat3x2<f16>, read_write> = var, mat3x2<f16>(vec2<f16>(1.0h))
+    %4:mat3x2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_d6faec
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_d6faec
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_d6faec
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9878cdf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat4x3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_d8f8ba = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat4x3<f32>, read_write> = var, mat4x3<f32>(vec3<f32>(1.0f))
+    %4:mat4x3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_d8f8ba
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_d8f8ba
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_d8f8ba
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b9bcba7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat2x3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_ed4bdc = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat2x3<f32>, read_write> = var, mat2x3<f32>(vec3<f32>(1.0f))
+    %4:mat2x3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_ed4bdc
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_ed4bdc
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_ed4bdc
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.msl
new file mode 100644
index 0000000..bd59ff8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, mat4x2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%transpose_faeb05 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, mat4x2<f16>, read_write> = var, mat4x2<f16>(vec2<f16>(1.0h))
+    %4:mat4x2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %transpose_faeb05
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %transpose_faeb05
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %transpose_faeb05
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.ir.msl
new file mode 100644
index 0000000..016d2b3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_103ab8 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(1.0h)
+    %4:vec3<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_103ab8
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_103ab8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_103ab8
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.msl
new file mode 100644
index 0000000..428a358
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec3<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_562d05 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(1.0f)
+    %4:vec3<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_562d05
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_562d05
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_562d05
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.ir.msl
new file mode 100644
index 0000000..a69b160
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_a56109 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f16>, read_write> = var, vec2<f16>(1.0h)
+    %4:vec2<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_a56109
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_a56109
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_a56109
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.ir.msl
new file mode 100644
index 0000000..5665b11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_cc2b0d = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f16, read_write> = var, 1.0h
+    %4:f16 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_cc2b0d
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_cc2b0d
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_cc2b0d
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.ir.msl
new file mode 100644
index 0000000..664188b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f16>, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_ce7c17 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
+    %4:vec4<f16> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_ce7c17
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_ce7c17
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_ce7c17
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.msl
new file mode 100644
index 0000000..ced128b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_e183aa = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_e183aa
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_e183aa
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_e183aa
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0944ebc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_eb83df = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, f32, read_write> = var, 1.0f
+    %4:f32 = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_eb83df
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_eb83df
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_eb83df
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.ir.msl
new file mode 100644
index 0000000..792ab03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::UserCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1c2f0ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%trunc_f370d3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %trunc_f370d3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %trunc_f370d3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %trunc_f370d3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.msl
new file mode 100644
index 0000000..e0342ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%unpack2x16float_32a5cf = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.00000005960464477539f, 0.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %unpack2x16float_32a5cf
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %unpack2x16float_32a5cf
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %unpack2x16float_32a5cf
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.msl
new file mode 100644
index 0000000..f6754a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%unpack2x16snorm_b4aea6 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.00003051850944757462f, 0.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %unpack2x16snorm_b4aea6
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %unpack2x16snorm_b4aea6
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %unpack2x16snorm_b4aea6
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.msl
new file mode 100644
index 0000000..d087ff3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec2<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%unpack2x16unorm_7699c0 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(0.00001525902189314365f, 0.0f)
+    %4:vec2<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %unpack2x16unorm_7699c0
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %unpack2x16unorm_7699c0
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %unpack2x16unorm_7699c0
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.msl
new file mode 100644
index 0000000..9a7fa36
--- /dev/null
+++ b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%unpack4x8snorm_523fb3 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.00787401571869850159f, 0.0f, 0.0f, 0.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %unpack4x8snorm_523fb3
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %unpack4x8snorm_523fb3
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %unpack4x8snorm_523fb3
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.msl
new file mode 100644
index 0000000..da463f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.msl
@@ -0,0 +1,40 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
+}
+
+%unpack4x8unorm_750c74 = func():void -> %b2 {
+  %b2 = block {
+    %res:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(0.0039215688593685627f, 0.0f, 0.0f, 0.0f)
+    %4:vec4<f32> = load %res
+    store %prevent_dce, %4
+    ret
+  }
+}
+%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
+  %b3 = block {
+    %6:void = call %unpack4x8unorm_750c74
+    ret vec4<f32>(0.0f)
+  }
+}
+%fragment_main = @fragment func():void -> %b4 {
+  %b4 = block {
+    %8:void = call %unpack4x8unorm_750c74
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
+  %b5 = block {
+    %10:void = call %unpack4x8unorm_750c74
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/workgroupBarrier/a17f7f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/workgroupBarrier/a17f7f.wgsl.expected.ir.msl
new file mode 100644
index 0000000..b38060a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupBarrier/a17f7f.wgsl.expected.ir.msl
@@ -0,0 +1,9 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:247 internal compiler error: Switch() matched no cases. Type: tint::core::ir::CoreBuiltinCall
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..1cea43c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/37307c.wgsl.expected.ir.msl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, u32, read_write> = var
+  %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+}
+
+%workgroupUniformLoad_37307c = func():void -> %b2 {
+  %b2 = block {
+    %4:void = workgroupBarrier
+    %5:u32 = load %arg_0
+    %6:void = workgroupBarrier
+    %res:ptr<function, u32, read_write> = var, %5
+    %8:u32 = load %res
+    store %prevent_dce, %8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %10:void = call %workgroupUniformLoad_37307c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.ir.msl
new file mode 100644
index 0000000..c099224
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/7a857c.wgsl.expected.ir.msl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, f32, read_write> = var
+  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
+}
+
+%workgroupUniformLoad_7a857c = func():void -> %b2 {
+  %b2 = block {
+    %4:void = workgroupBarrier
+    %5:f32 = load %arg_0
+    %6:void = workgroupBarrier
+    %res:ptr<function, f32, read_write> = var, %5
+    %8:f32 = load %res
+    store %prevent_dce, %8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %10:void = call %workgroupUniformLoad_7a857c
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.ir.msl
new file mode 100644
index 0000000..44c439c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/9d33de.wgsl.expected.ir.msl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, i32, read_write> = var
+  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
+}
+
+%workgroupUniformLoad_9d33de = func():void -> %b2 {
+  %b2 = block {
+    %4:void = workgroupBarrier
+    %5:i32 = load %arg_0
+    %6:void = workgroupBarrier
+    %res:ptr<function, i32, read_write> = var, %5
+    %8:i32 = load %res
+    store %prevent_dce, %8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %10:void = call %workgroupUniformLoad_9d33de
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************
diff --git a/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.ir.msl
new file mode 100644
index 0000000..0724ae1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/workgroupUniformLoad/e07d08.wgsl.expected.ir.msl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: %b1 = block {  # root
+  %arg_0:ptr<workgroup, f16, read_write> = var
+  %prevent_dce:ptr<storage, f16, read_write> = var @binding_point(2, 0)
+}
+
+%workgroupUniformLoad_e07d08 = func():void -> %b2 {
+  %b2 = block {
+    %4:void = workgroupBarrier
+    %5:f16 = load %arg_0
+    %6:void = workgroupBarrier
+    %res:ptr<function, f16, read_write> = var, %5
+    %8:f16 = load %res
+    store %prevent_dce, %8
+    ret
+  }
+}
+%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b3 {
+  %b3 = block {
+    %10:void = call %workgroupUniformLoad_e07d08
+    ret
+  }
+}
+
+unhandled variable address space
+********************************************************************
+*  The tint shader compiler has encountered an unexpected error.   *
+*                                                                  *
+*  Please help us fix this issue by submitting a bug report at     *
+*  crbug.com/tint with the source program that triggered the bug.  *
+********************************************************************