[tint][test] Only generate WGSL from SPVASM.

For a `spvasm` input, only generate `wsgl` output as that's the path
that matters for us.

Change-Id: Ie73c5f2a3d8b8f5796f9cb2c80f8f60d80fb957a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/232036
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/test/tint/access/let/matrix.spvasm.expected.dxc.hlsl b/test/tint/access/let/matrix.spvasm.expected.dxc.hlsl
deleted file mode 100644
index cfb71b6..0000000
--- a/test/tint/access/let/matrix.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-void main_1() {
-  float x_24 = 5.0f;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/let/matrix.spvasm.expected.fxc.hlsl b/test/tint/access/let/matrix.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cfb71b6..0000000
--- a/test/tint/access/let/matrix.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-void main_1() {
-  float x_24 = 5.0f;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/let/matrix.spvasm.expected.glsl b/test/tint/access/let/matrix.spvasm.expected.glsl
deleted file mode 100644
index 931583d..0000000
--- a/test/tint/access/let/matrix.spvasm.expected.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-#version 310 es
-
-void main_1() {
-  float x_24 = 5.0f;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/access/let/matrix.spvasm.expected.ir.dxc.hlsl b/test/tint/access/let/matrix.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index a239d42..0000000
--- a/test/tint/access/let/matrix.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-void main_1() {
-  float x_24 = 5.0f;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/let/matrix.spvasm.expected.ir.fxc.hlsl b/test/tint/access/let/matrix.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a239d42..0000000
--- a/test/tint/access/let/matrix.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-void main_1() {
-  float x_24 = 5.0f;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/let/matrix.spvasm.expected.msl b/test/tint/access/let/matrix.spvasm.expected.msl
deleted file mode 100644
index 2fe11d0..0000000
--- a/test/tint/access/let/matrix.spvasm.expected.msl
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float const x_24 = 5.0f;
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/access/let/matrix.spvasm.expected.spvasm b/test/tint/access/let/matrix.spvasm.expected.spvasm
deleted file mode 100644
index 9ce7008..0000000
--- a/test/tint/access/let/matrix.spvasm.expected.spvasm
+++ /dev/null
@@ -1,25 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 10
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %x_24 "x_24"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-       %x_24 = OpConstant %float 5
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-          %8 = OpLabel
-          %9 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/access/let/vector.spvasm.expected.dxc.hlsl b/test/tint/access/let/vector.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 362277e..0000000
--- a/test/tint/access/let/vector.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-void main_1() {
-  float x_11 = 2.0f;
-  float2 x_13 = float2(1.0f, 3.0f);
-  float3 x_14 = float3(1.0f, 3.0f, 2.0f);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/let/vector.spvasm.expected.fxc.hlsl b/test/tint/access/let/vector.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 362277e..0000000
--- a/test/tint/access/let/vector.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-void main_1() {
-  float x_11 = 2.0f;
-  float2 x_13 = float2(1.0f, 3.0f);
-  float3 x_14 = float3(1.0f, 3.0f, 2.0f);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/let/vector.spvasm.expected.glsl b/test/tint/access/let/vector.spvasm.expected.glsl
deleted file mode 100644
index 0e7f0d7..0000000
--- a/test/tint/access/let/vector.spvasm.expected.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-#version 310 es
-
-void main_1() {
-  float x_11 = 2.0f;
-  vec2 x_13 = vec2(1.0f, 3.0f);
-  vec3 x_14 = vec3(1.0f, 3.0f, 2.0f);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/access/let/vector.spvasm.expected.ir.dxc.hlsl b/test/tint/access/let/vector.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index ab0d942..0000000
--- a/test/tint/access/let/vector.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-void main_1() {
-  float x_11 = 2.0f;
-  float2 x_13 = float2(1.0f, 3.0f);
-  float3 x_14 = float3(1.0f, 3.0f, 2.0f);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/let/vector.spvasm.expected.ir.fxc.hlsl b/test/tint/access/let/vector.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index ab0d942..0000000
--- a/test/tint/access/let/vector.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-void main_1() {
-  float x_11 = 2.0f;
-  float2 x_13 = float2(1.0f, 3.0f);
-  float3 x_14 = float3(1.0f, 3.0f, 2.0f);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/let/vector.spvasm.expected.msl b/test/tint/access/let/vector.spvasm.expected.msl
deleted file mode 100644
index 7cea110..0000000
--- a/test/tint/access/let/vector.spvasm.expected.msl
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float const x_11 = 2.0f;
-  float2 const x_13 = float2(1.0f, 3.0f);
-  float3 const x_14 = float3(1.0f, 3.0f, 2.0f);
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/access/let/vector.spvasm.expected.spvasm b/test/tint/access/let/vector.spvasm.expected.spvasm
deleted file mode 100644
index c456c05..0000000
--- a/test/tint/access/let/vector.spvasm.expected.spvasm
+++ /dev/null
@@ -1,33 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 16
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %x_11 "x_11"
-               OpName %x_13 "x_13"
-               OpName %x_14 "x_14"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-       %x_11 = OpConstant %float 2
-    %v2float = OpTypeVector %float 2
-    %float_1 = OpConstant %float 1
-    %float_3 = OpConstant %float 3
-       %x_13 = OpConstantComposite %v2float %float_1 %float_3
-    %v3float = OpTypeVector %float 3
-       %x_14 = OpConstantComposite %v3float %float_1 %float_3 %x_11
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %14 = OpLabel
-         %15 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/access/var/matrix.spvasm.expected.dxc.hlsl b/test/tint/access/var/matrix.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d55afe7..0000000
--- a/test/tint/access/var/matrix.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float x_16 = m[1].y;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/var/matrix.spvasm.expected.fxc.hlsl b/test/tint/access/var/matrix.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d55afe7..0000000
--- a/test/tint/access/var/matrix.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float x_16 = m[1].y;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/var/matrix.spvasm.expected.glsl b/test/tint/access/var/matrix.spvasm.expected.glsl
deleted file mode 100644
index 074e0e7..0000000
--- a/test/tint/access/var/matrix.spvasm.expected.glsl
+++ /dev/null
@@ -1,10 +0,0 @@
-#version 310 es
-
-void main_1() {
-  mat3 m = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
-  float x_16 = m[1u].y;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/access/var/matrix.spvasm.expected.ir.dxc.hlsl b/test/tint/access/var/matrix.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7e4076f..0000000
--- a/test/tint/access/var/matrix.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float x_16 = m[1u].y;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/var/matrix.spvasm.expected.ir.fxc.hlsl b/test/tint/access/var/matrix.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7e4076f..0000000
--- a/test/tint/access/var/matrix.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float x_16 = m[1u].y;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/var/matrix.spvasm.expected.msl b/test/tint/access/var/matrix.spvasm.expected.msl
deleted file mode 100644
index bb66f33..0000000
--- a/test/tint/access/var/matrix.spvasm.expected.msl
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float3x3 m = float3x3(float3(0.0f), float3(0.0f), float3(0.0f));
-  float const x_16 = m[1u].y;
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/access/var/matrix.spvasm.expected.spvasm b/test/tint/access/var/matrix.spvasm.expected.spvasm
deleted file mode 100644
index c7989cf..0000000
--- a/test/tint/access/var/matrix.spvasm.expected.spvasm
+++ /dev/null
@@ -1,38 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 21
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %m "m"
-               OpName %x_16 "x_16"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-    %v3float = OpTypeVector %float 3
-%mat3v3float = OpTypeMatrix %v3float 3
-%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
-         %10 = OpConstantNull %mat3v3float
-%_ptr_Function_v3float = OpTypePointer Function %v3float
-       %uint = OpTypeInt 32 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_Function_float = OpTypePointer Function %float
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %m = OpVariable %_ptr_Function_mat3v3float Function
-               OpStore %m %10
-         %11 = OpAccessChain %_ptr_Function_v3float %m %uint_1
-         %15 = OpAccessChain %_ptr_Function_float %11 %uint_1
-       %x_16 = OpLoad %float %15 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/access/var/vector.spvasm.expected.dxc.hlsl b/test/tint/access/var/vector.spvasm.expected.dxc.hlsl
deleted file mode 100644
index fd8cef1..0000000
--- a/test/tint/access/var/vector.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-void main_1() {
-  float3 v = (0.0f).xxx;
-  float x_14 = v.y;
-  float2 x_17 = v.xz;
-  float3 x_19 = v.xzy;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/var/vector.spvasm.expected.fxc.hlsl b/test/tint/access/var/vector.spvasm.expected.fxc.hlsl
deleted file mode 100644
index fd8cef1..0000000
--- a/test/tint/access/var/vector.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-void main_1() {
-  float3 v = (0.0f).xxx;
-  float x_14 = v.y;
-  float2 x_17 = v.xz;
-  float3 x_19 = v.xzy;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/access/var/vector.spvasm.expected.glsl b/test/tint/access/var/vector.spvasm.expected.glsl
deleted file mode 100644
index fcc6ea8..0000000
--- a/test/tint/access/var/vector.spvasm.expected.glsl
+++ /dev/null
@@ -1,12 +0,0 @@
-#version 310 es
-
-void main_1() {
-  vec3 v = vec3(0.0f);
-  float x_14 = v.y;
-  vec2 x_17 = v.xz;
-  vec3 x_19 = v.xzy;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/access/var/vector.spvasm.expected.ir.dxc.hlsl b/test/tint/access/var/vector.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 97862ad..0000000
--- a/test/tint/access/var/vector.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  float3 v = (0.0f).xxx;
-  float x_14 = v.y;
-  float2 x_17 = v.xz;
-  float3 x_19 = v.xzy;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/var/vector.spvasm.expected.ir.fxc.hlsl b/test/tint/access/var/vector.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 97862ad..0000000
--- a/test/tint/access/var/vector.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  float3 v = (0.0f).xxx;
-  float x_14 = v.y;
-  float2 x_17 = v.xz;
-  float3 x_19 = v.xzy;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/access/var/vector.spvasm.expected.msl b/test/tint/access/var/vector.spvasm.expected.msl
deleted file mode 100644
index b17f0ca..0000000
--- a/test/tint/access/var/vector.spvasm.expected.msl
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float3 v = float3(0.0f);
-  float const x_14 = v.y;
-  float2 const x_17 = v.xz;
-  float3 const x_19 = v.xzy;
-}
-
-kernel void v_1() {
-  main_1();
-}
diff --git a/test/tint/access/var/vector.spvasm.expected.spvasm b/test/tint/access/var/vector.spvasm.expected.spvasm
deleted file mode 100644
index 9e2d3fb..0000000
--- a/test/tint/access/var/vector.spvasm.expected.spvasm
+++ /dev/null
@@ -1,42 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %v "v"
-               OpName %x_14 "x_14"
-               OpName %x_17 "x_17"
-               OpName %x_19 "x_19"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-    %v3float = OpTypeVector %float 3
-%_ptr_Function_v3float = OpTypePointer Function %v3float
-          %9 = OpConstantNull %v3float
-%_ptr_Function_float = OpTypePointer Function %float
-       %uint = OpTypeInt 32 0
-     %uint_1 = OpConstant %uint 1
-    %v2float = OpTypeVector %float 2
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_v3float Function
-               OpStore %v %9
-         %10 = OpAccessChain %_ptr_Function_float %v %uint_1
-       %x_14 = OpLoad %float %10 None
-         %15 = OpLoad %v3float %v None
-       %x_17 = OpVectorShuffle %v2float %15 %15 0 2
-         %18 = OpLoad %v3float %v None
-       %x_19 = OpVectorShuffle %v3float %18 %18 0 2 1
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/array/strides.spvasm.expected.dxc.hlsl b/test/tint/array/strides.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8925925..0000000
--- a/test/tint/array/strides.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,103 +0,0 @@
-struct strided_arr {
-  float el;
-};
-struct strided_arr_1 {
-  strided_arr el[3][2];
-};
-
-RWByteAddressBuffer s : register(u0);
-
-strided_arr s_load_4(uint offset) {
-  strided_arr tint_symbol = {asfloat(s.Load((offset + 0u)))};
-  return tint_symbol;
-}
-
-typedef strided_arr s_load_3_ret[2];
-s_load_3_ret s_load_3(uint offset) {
-  strided_arr arr[2] = (strided_arr[2])0;
-  {
-    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
-      arr[i] = s_load_4((offset + (i * 8u)));
-    }
-  }
-  return arr;
-}
-
-typedef strided_arr s_load_2_ret[3][2];
-s_load_2_ret s_load_2(uint offset) {
-  strided_arr arr_1[3][2] = (strided_arr[3][2])0;
-  {
-    for(uint i_1 = 0u; (i_1 < 3u); i_1 = (i_1 + 1u)) {
-      arr_1[i_1] = s_load_3((offset + (i_1 * 16u)));
-    }
-  }
-  return arr_1;
-}
-
-strided_arr_1 s_load_1(uint offset) {
-  strided_arr_1 tint_symbol_1 = {s_load_2((offset + 0u))};
-  return tint_symbol_1;
-}
-
-typedef strided_arr_1 s_load_ret[4];
-s_load_ret s_load(uint offset) {
-  strided_arr_1 arr_2[4] = (strided_arr_1[4])0;
-  {
-    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
-      arr_2[i_2] = s_load_1((offset + (i_2 * 128u)));
-    }
-  }
-  return arr_2;
-}
-
-void s_store_4(uint offset, strided_arr value) {
-  s.Store((offset + 0u), asuint(value.el));
-}
-
-void s_store_3(uint offset, strided_arr value[2]) {
-  strided_arr array_3[2] = value;
-  {
-    for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
-      s_store_4((offset + (i_3 * 8u)), array_3[i_3]);
-    }
-  }
-}
-
-void s_store_2(uint offset, strided_arr value[3][2]) {
-  strided_arr array_2[3][2] = value;
-  {
-    for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
-      s_store_3((offset + (i_4 * 16u)), array_2[i_4]);
-    }
-  }
-}
-
-void s_store_1(uint offset, strided_arr_1 value) {
-  s_store_2((offset + 0u), value.el);
-}
-
-void s_store(uint offset, strided_arr_1 value[4]) {
-  strided_arr_1 array_1[4] = value;
-  {
-    for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
-      s_store_1((offset + (i_5 * 128u)), array_1[i_5]);
-    }
-  }
-}
-
-void f_1() {
-  strided_arr_1 x_19[4] = s_load(0u);
-  strided_arr x_24[3][2] = s_load_2(384u);
-  strided_arr x_28[2] = s_load_3(416u);
-  float x_32 = asfloat(s.Load(424u));
-  strided_arr_1 tint_symbol_2[4] = (strided_arr_1[4])0;
-  s_store(0u, tint_symbol_2);
-  s.Store(424u, asuint(5.0f));
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/array/strides.spvasm.expected.fxc.hlsl b/test/tint/array/strides.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8925925..0000000
--- a/test/tint/array/strides.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,103 +0,0 @@
-struct strided_arr {
-  float el;
-};
-struct strided_arr_1 {
-  strided_arr el[3][2];
-};
-
-RWByteAddressBuffer s : register(u0);
-
-strided_arr s_load_4(uint offset) {
-  strided_arr tint_symbol = {asfloat(s.Load((offset + 0u)))};
-  return tint_symbol;
-}
-
-typedef strided_arr s_load_3_ret[2];
-s_load_3_ret s_load_3(uint offset) {
-  strided_arr arr[2] = (strided_arr[2])0;
-  {
-    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
-      arr[i] = s_load_4((offset + (i * 8u)));
-    }
-  }
-  return arr;
-}
-
-typedef strided_arr s_load_2_ret[3][2];
-s_load_2_ret s_load_2(uint offset) {
-  strided_arr arr_1[3][2] = (strided_arr[3][2])0;
-  {
-    for(uint i_1 = 0u; (i_1 < 3u); i_1 = (i_1 + 1u)) {
-      arr_1[i_1] = s_load_3((offset + (i_1 * 16u)));
-    }
-  }
-  return arr_1;
-}
-
-strided_arr_1 s_load_1(uint offset) {
-  strided_arr_1 tint_symbol_1 = {s_load_2((offset + 0u))};
-  return tint_symbol_1;
-}
-
-typedef strided_arr_1 s_load_ret[4];
-s_load_ret s_load(uint offset) {
-  strided_arr_1 arr_2[4] = (strided_arr_1[4])0;
-  {
-    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
-      arr_2[i_2] = s_load_1((offset + (i_2 * 128u)));
-    }
-  }
-  return arr_2;
-}
-
-void s_store_4(uint offset, strided_arr value) {
-  s.Store((offset + 0u), asuint(value.el));
-}
-
-void s_store_3(uint offset, strided_arr value[2]) {
-  strided_arr array_3[2] = value;
-  {
-    for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
-      s_store_4((offset + (i_3 * 8u)), array_3[i_3]);
-    }
-  }
-}
-
-void s_store_2(uint offset, strided_arr value[3][2]) {
-  strided_arr array_2[3][2] = value;
-  {
-    for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
-      s_store_3((offset + (i_4 * 16u)), array_2[i_4]);
-    }
-  }
-}
-
-void s_store_1(uint offset, strided_arr_1 value) {
-  s_store_2((offset + 0u), value.el);
-}
-
-void s_store(uint offset, strided_arr_1 value[4]) {
-  strided_arr_1 array_1[4] = value;
-  {
-    for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
-      s_store_1((offset + (i_5 * 128u)), array_1[i_5]);
-    }
-  }
-}
-
-void f_1() {
-  strided_arr_1 x_19[4] = s_load(0u);
-  strided_arr x_24[3][2] = s_load_2(384u);
-  strided_arr x_28[2] = s_load_3(416u);
-  float x_32 = asfloat(s.Load(424u));
-  strided_arr_1 tint_symbol_2[4] = (strided_arr_1[4])0;
-  s_store(0u, tint_symbol_2);
-  s.Store(424u, asuint(5.0f));
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/array/strides.spvasm.expected.glsl b/test/tint/array/strides.spvasm.expected.glsl
deleted file mode 100644
index c18f961..0000000
--- a/test/tint/array/strides.spvasm.expected.glsl
+++ /dev/null
@@ -1,109 +0,0 @@
-#version 310 es
-
-
-struct strided_arr {
-  float el;
-  uint tint_pad_0;
-};
-
-struct strided_arr_1 {
-  strided_arr el[3][2];
-  uint tint_pad_0;
-  uint tint_pad_1;
-  uint tint_pad_2;
-  uint tint_pad_3;
-  uint tint_pad_4;
-  uint tint_pad_5;
-  uint tint_pad_6;
-  uint tint_pad_7;
-  uint tint_pad_8;
-  uint tint_pad_9;
-  uint tint_pad_10;
-  uint tint_pad_11;
-  uint tint_pad_12;
-  uint tint_pad_13;
-  uint tint_pad_14;
-  uint tint_pad_15;
-  uint tint_pad_16;
-  uint tint_pad_17;
-  uint tint_pad_18;
-  uint tint_pad_19;
-};
-
-struct S {
-  strided_arr_1 a[4];
-};
-
-layout(binding = 0, std430)
-buffer s_block_1_ssbo {
-  S inner;
-} v;
-void tint_store_and_preserve_padding_4(uint target_indices[3], strided_arr value_param) {
-  v.inner.a[target_indices[0u]].el[target_indices[1u]][target_indices[2u]].el = value_param.el;
-}
-void tint_store_and_preserve_padding_3(uint target_indices[2], strided_arr value_param[2]) {
-  {
-    uint v_1 = 0u;
-    v_1 = 0u;
-    while(true) {
-      uint v_2 = v_1;
-      if ((v_2 >= 2u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_4(uint[3](target_indices[0u], target_indices[1u], v_2), value_param[v_2]);
-      {
-        v_1 = (v_2 + 1u);
-      }
-      continue;
-    }
-  }
-}
-void tint_store_and_preserve_padding_2(uint target_indices[1], strided_arr value_param[3][2]) {
-  {
-    uint v_3 = 0u;
-    v_3 = 0u;
-    while(true) {
-      uint v_4 = v_3;
-      if ((v_4 >= 3u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_3(uint[2](target_indices[0u], v_4), value_param[v_4]);
-      {
-        v_3 = (v_4 + 1u);
-      }
-      continue;
-    }
-  }
-}
-void tint_store_and_preserve_padding_1(uint target_indices[1], strided_arr_1 value_param) {
-  tint_store_and_preserve_padding_2(uint[1](target_indices[0u]), value_param.el);
-}
-void tint_store_and_preserve_padding(strided_arr_1 value_param[4]) {
-  {
-    uint v_5 = 0u;
-    v_5 = 0u;
-    while(true) {
-      uint v_6 = v_5;
-      if ((v_6 >= 4u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_1(uint[1](v_6), value_param[v_6]);
-      {
-        v_5 = (v_6 + 1u);
-      }
-      continue;
-    }
-  }
-}
-void f_1() {
-  strided_arr_1 x_19[4] = v.inner.a;
-  strided_arr x_24[3][2] = v.inner.a[3u].el;
-  strided_arr x_28[2] = v.inner.a[3u].el[2u];
-  float x_32 = v.inner.a[3u].el[2u][1u].el;
-  tint_store_and_preserve_padding(strided_arr_1[4](strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u))), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u), strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u))), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u), strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u))), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u), strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u)), strided_arr[2](strided_arr(0.0f, 0u), strided_arr(0.0f, 0u))), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u)));
-  v.inner.a[3u].el[2u][1u].el = 5.0f;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/array/strides.spvasm.expected.ir.dxc.hlsl b/test/tint/array/strides.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 9e95308..0000000
--- a/test/tint/array/strides.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,171 +0,0 @@
-struct strided_arr {
-  float el;
-};
-
-struct strided_arr_1 {
-  strided_arr el[3][2];
-};
-
-
-RWByteAddressBuffer s : register(u0);
-void v(uint offset, strided_arr obj) {
-  s.Store((offset + 0u), asuint(obj.el));
-}
-
-void v_1(uint offset, strided_arr obj[2]) {
-  {
-    uint v_2 = 0u;
-    v_2 = 0u;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 2u)) {
-        break;
-      }
-      strided_arr v_4 = obj[v_3];
-      v((offset + (v_3 * 8u)), v_4);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void v_5(uint offset, strided_arr obj[3][2]) {
-  {
-    uint v_6 = 0u;
-    v_6 = 0u;
-    while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 3u)) {
-        break;
-      }
-      strided_arr v_8[2] = obj[v_7];
-      v_1((offset + (v_7 * 16u)), v_8);
-      {
-        v_6 = (v_7 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void v_9(uint offset, strided_arr_1 obj) {
-  strided_arr v_10[3][2] = obj.el;
-  v_5((offset + 0u), v_10);
-}
-
-void v_11(uint offset, strided_arr_1 obj[4]) {
-  {
-    uint v_12 = 0u;
-    v_12 = 0u;
-    while(true) {
-      uint v_13 = v_12;
-      if ((v_13 >= 4u)) {
-        break;
-      }
-      strided_arr_1 v_14 = obj[v_13];
-      v_9((offset + (v_13 * 128u)), v_14);
-      {
-        v_12 = (v_13 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-strided_arr v_15(uint offset) {
-  strided_arr v_16 = {asfloat(s.Load((offset + 0u)))};
-  return v_16;
-}
-
-typedef strided_arr ary_ret[2];
-ary_ret v_17(uint offset) {
-  strided_arr a[2] = (strided_arr[2])0;
-  {
-    uint v_18 = 0u;
-    v_18 = 0u;
-    while(true) {
-      uint v_19 = v_18;
-      if ((v_19 >= 2u)) {
-        break;
-      }
-      strided_arr v_20 = v_15((offset + (v_19 * 8u)));
-      a[v_19] = v_20;
-      {
-        v_18 = (v_19 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr v_21[2] = a;
-  return v_21;
-}
-
-typedef strided_arr ary_ret_1[3][2];
-ary_ret_1 v_22(uint offset) {
-  strided_arr a[3][2] = (strided_arr[3][2])0;
-  {
-    uint v_23 = 0u;
-    v_23 = 0u;
-    while(true) {
-      uint v_24 = v_23;
-      if ((v_24 >= 3u)) {
-        break;
-      }
-      strided_arr v_25[2] = v_17((offset + (v_24 * 16u)));
-      a[v_24] = v_25;
-      {
-        v_23 = (v_24 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr v_26[3][2] = a;
-  return v_26;
-}
-
-strided_arr_1 v_27(uint offset) {
-  strided_arr v_28[3][2] = v_22((offset + 0u));
-  strided_arr_1 v_29 = {v_28};
-  return v_29;
-}
-
-typedef strided_arr_1 ary_ret_2[4];
-ary_ret_2 v_30(uint offset) {
-  strided_arr_1 a[4] = (strided_arr_1[4])0;
-  {
-    uint v_31 = 0u;
-    v_31 = 0u;
-    while(true) {
-      uint v_32 = v_31;
-      if ((v_32 >= 4u)) {
-        break;
-      }
-      strided_arr_1 v_33 = v_27((offset + (v_32 * 128u)));
-      a[v_32] = v_33;
-      {
-        v_31 = (v_32 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr_1 v_34[4] = a;
-  return v_34;
-}
-
-void f_1() {
-  strided_arr_1 x_19[4] = v_30(0u);
-  strided_arr x_24[3][2] = v_22(384u);
-  strided_arr x_28[2] = v_17(416u);
-  float x_32 = asfloat(s.Load(424u));
-  strided_arr_1 v_35[4] = (strided_arr_1[4])0;
-  v_11(0u, v_35);
-  s.Store(424u, asuint(5.0f));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/array/strides.spvasm.expected.ir.fxc.hlsl b/test/tint/array/strides.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 9e95308..0000000
--- a/test/tint/array/strides.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,171 +0,0 @@
-struct strided_arr {
-  float el;
-};
-
-struct strided_arr_1 {
-  strided_arr el[3][2];
-};
-
-
-RWByteAddressBuffer s : register(u0);
-void v(uint offset, strided_arr obj) {
-  s.Store((offset + 0u), asuint(obj.el));
-}
-
-void v_1(uint offset, strided_arr obj[2]) {
-  {
-    uint v_2 = 0u;
-    v_2 = 0u;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 2u)) {
-        break;
-      }
-      strided_arr v_4 = obj[v_3];
-      v((offset + (v_3 * 8u)), v_4);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void v_5(uint offset, strided_arr obj[3][2]) {
-  {
-    uint v_6 = 0u;
-    v_6 = 0u;
-    while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 3u)) {
-        break;
-      }
-      strided_arr v_8[2] = obj[v_7];
-      v_1((offset + (v_7 * 16u)), v_8);
-      {
-        v_6 = (v_7 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void v_9(uint offset, strided_arr_1 obj) {
-  strided_arr v_10[3][2] = obj.el;
-  v_5((offset + 0u), v_10);
-}
-
-void v_11(uint offset, strided_arr_1 obj[4]) {
-  {
-    uint v_12 = 0u;
-    v_12 = 0u;
-    while(true) {
-      uint v_13 = v_12;
-      if ((v_13 >= 4u)) {
-        break;
-      }
-      strided_arr_1 v_14 = obj[v_13];
-      v_9((offset + (v_13 * 128u)), v_14);
-      {
-        v_12 = (v_13 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-strided_arr v_15(uint offset) {
-  strided_arr v_16 = {asfloat(s.Load((offset + 0u)))};
-  return v_16;
-}
-
-typedef strided_arr ary_ret[2];
-ary_ret v_17(uint offset) {
-  strided_arr a[2] = (strided_arr[2])0;
-  {
-    uint v_18 = 0u;
-    v_18 = 0u;
-    while(true) {
-      uint v_19 = v_18;
-      if ((v_19 >= 2u)) {
-        break;
-      }
-      strided_arr v_20 = v_15((offset + (v_19 * 8u)));
-      a[v_19] = v_20;
-      {
-        v_18 = (v_19 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr v_21[2] = a;
-  return v_21;
-}
-
-typedef strided_arr ary_ret_1[3][2];
-ary_ret_1 v_22(uint offset) {
-  strided_arr a[3][2] = (strided_arr[3][2])0;
-  {
-    uint v_23 = 0u;
-    v_23 = 0u;
-    while(true) {
-      uint v_24 = v_23;
-      if ((v_24 >= 3u)) {
-        break;
-      }
-      strided_arr v_25[2] = v_17((offset + (v_24 * 16u)));
-      a[v_24] = v_25;
-      {
-        v_23 = (v_24 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr v_26[3][2] = a;
-  return v_26;
-}
-
-strided_arr_1 v_27(uint offset) {
-  strided_arr v_28[3][2] = v_22((offset + 0u));
-  strided_arr_1 v_29 = {v_28};
-  return v_29;
-}
-
-typedef strided_arr_1 ary_ret_2[4];
-ary_ret_2 v_30(uint offset) {
-  strided_arr_1 a[4] = (strided_arr_1[4])0;
-  {
-    uint v_31 = 0u;
-    v_31 = 0u;
-    while(true) {
-      uint v_32 = v_31;
-      if ((v_32 >= 4u)) {
-        break;
-      }
-      strided_arr_1 v_33 = v_27((offset + (v_32 * 128u)));
-      a[v_32] = v_33;
-      {
-        v_31 = (v_32 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr_1 v_34[4] = a;
-  return v_34;
-}
-
-void f_1() {
-  strided_arr_1 x_19[4] = v_30(0u);
-  strided_arr x_24[3][2] = v_22(384u);
-  strided_arr x_28[2] = v_17(416u);
-  float x_32 = asfloat(s.Load(424u));
-  strided_arr_1 v_35[4] = (strided_arr_1[4])0;
-  v_11(0u, v_35);
-  s.Store(424u, asuint(5.0f));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/array/strides.spvasm.expected.msl b/test/tint/array/strides.spvasm.expected.msl
deleted file mode 100644
index 0c8c288..0000000
--- a/test/tint/array/strides.spvasm.expected.msl
+++ /dev/null
@@ -1,108 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct strided_arr {
-  /* 0x0000 */ float el;
-  /* 0x0004 */ tint_array<int8_t, 4> tint_pad;
-};
-
-struct strided_arr_1 {
-  /* 0x0000 */ tint_array<tint_array<strided_arr, 2>, 3> el;
-  /* 0x0030 */ tint_array<int8_t, 80> tint_pad_1;
-};
-
-struct S {
-  /* 0x0000 */ tint_array<strided_arr_1, 4> a;
-};
-
-struct tint_module_vars_struct {
-  device S* s;
-};
-
-void tint_store_and_preserve_padding_4(device strided_arr* const target, strided_arr value_param) {
-  (*target).el = value_param.el;
-}
-
-void tint_store_and_preserve_padding_3(device tint_array<strided_arr, 2>* const target, tint_array<strided_arr, 2> value_param) {
-  {
-    uint v = 0u;
-    v = 0u;
-    while(true) {
-      uint const v_1 = v;
-      if ((v_1 >= 2u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_4((&(*target)[v_1]), value_param[v_1]);
-      {
-        v = (v_1 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void tint_store_and_preserve_padding_2(device tint_array<tint_array<strided_arr, 2>, 3>* const target, tint_array<tint_array<strided_arr, 2>, 3> value_param) {
-  {
-    uint v_2 = 0u;
-    v_2 = 0u;
-    while(true) {
-      uint const v_3 = v_2;
-      if ((v_3 >= 3u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_3((&(*target)[v_3]), value_param[v_3]);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void tint_store_and_preserve_padding_1(device strided_arr_1* const target, strided_arr_1 value_param) {
-  tint_store_and_preserve_padding_2((&(*target).el), value_param.el);
-}
-
-void tint_store_and_preserve_padding(device tint_array<strided_arr_1, 4>* const target, tint_array<strided_arr_1, 4> value_param) {
-  {
-    uint v_4 = 0u;
-    v_4 = 0u;
-    while(true) {
-      uint const v_5 = v_4;
-      if ((v_5 >= 4u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_1((&(*target)[v_5]), value_param[v_5]);
-      {
-        v_4 = (v_5 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void f_1(tint_module_vars_struct tint_module_vars) {
-  tint_array<strided_arr_1, 4> const x_19 = (*tint_module_vars.s).a;
-  tint_array<tint_array<strided_arr, 2>, 3> const x_24 = (*tint_module_vars.s).a[3u].el;
-  tint_array<strided_arr, 2> const x_28 = (*tint_module_vars.s).a[3u].el[2u];
-  float const x_32 = (*tint_module_vars.s).a[3u].el[2u][1u].el;
-  tint_store_and_preserve_padding((&(*tint_module_vars.s).a), tint_array<strided_arr_1, 4>{});
-  (*tint_module_vars.s).a[3u].el[2u][1u].el = 5.0f;
-}
-
-kernel void f(device S* s [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.s=s};
-  f_1(tint_module_vars);
-}
diff --git a/test/tint/array/strides.spvasm.expected.spvasm b/test/tint/array/strides.spvasm.expected.spvasm
deleted file mode 100644
index 4b43401..0000000
--- a/test/tint/array/strides.spvasm.expected.spvasm
+++ /dev/null
@@ -1,356 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 212
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpMemberName %strided_arr 0 "el"
-               OpName %strided_arr "strided_arr"
-               OpMemberName %strided_arr_1_tint_explicit_layout 0 "el"
-               OpName %strided_arr_1_tint_explicit_layout "strided_arr_1_tint_explicit_layout"
-               OpMemberName %S_tint_explicit_layout 0 "a"
-               OpName %S_tint_explicit_layout "S_tint_explicit_layout"
-               OpMemberName %s_block_tint_explicit_layout 0 "inner"
-               OpName %s_block_tint_explicit_layout "s_block_tint_explicit_layout"
-               OpName %f_1 "f_1"
-               OpMemberName %strided_arr_1 0 "el"
-               OpName %strided_arr_1 "strided_arr_1"
-               OpName %x_19 "x_19"
-               OpName %x_24 "x_24"
-               OpName %x_28 "x_28"
-               OpName %x_32 "x_32"
-               OpName %f "f"
-               OpName %tint_store_and_preserve_padding "tint_store_and_preserve_padding"
-               OpName %value_param "value_param"
-               OpName %tint_store_and_preserve_padding_0 "tint_store_and_preserve_padding"
-               OpName %target_indices "target_indices"
-               OpName %value_param_0 "value_param"
-               OpName %tint_store_and_preserve_padding_1 "tint_store_and_preserve_padding"
-               OpName %target_indices_0 "target_indices"
-               OpName %value_param_1 "value_param"
-               OpName %tint_store_and_preserve_padding_2 "tint_store_and_preserve_padding"
-               OpName %target_indices_1 "target_indices"
-               OpName %value_param_2 "value_param"
-               OpName %tint_store_and_preserve_padding_3 "tint_store_and_preserve_padding"
-               OpName %target_indices_2 "target_indices"
-               OpName %value_param_3 "value_param"
-               OpName %tint_convert_explicit_layout "tint_convert_explicit_layout"
-               OpName %tint_source "tint_source"
-               OpName %tint_convert_explicit_layout_0 "tint_convert_explicit_layout"
-               OpName %tint_source_0 "tint_source"
-               OpName %tint_convert_explicit_layout_1 "tint_convert_explicit_layout"
-               OpName %tint_source_1 "tint_source"
-               OpName %tint_convert_explicit_layout_2 "tint_convert_explicit_layout"
-               OpName %tint_source_2 "tint_source"
-               OpMemberDecorate %strided_arr 0 Offset 0
-               OpDecorate %_arr_strided_arr_uint_2 ArrayStride 8
-               OpDecorate %_arr__arr_strided_arr_uint_2_uint_3 ArrayStride 16
-               OpMemberDecorate %strided_arr_1_tint_explicit_layout 0 Offset 0
-               OpDecorate %_arr_strided_arr_1_tint_explicit_layout_uint_4 ArrayStride 128
-               OpMemberDecorate %S_tint_explicit_layout 0 Offset 0
-               OpMemberDecorate %s_block_tint_explicit_layout 0 Offset 0
-               OpDecorate %s_block_tint_explicit_layout Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-      %float = OpTypeFloat 32
-%strided_arr = OpTypeStruct %float
-       %uint = OpTypeInt 32 0
-     %uint_2 = OpConstant %uint 2
-%_arr_strided_arr_uint_2 = OpTypeArray %strided_arr %uint_2
-     %uint_3 = OpConstant %uint 3
-%_arr__arr_strided_arr_uint_2_uint_3 = OpTypeArray %_arr_strided_arr_uint_2 %uint_3
-%strided_arr_1_tint_explicit_layout = OpTypeStruct %_arr__arr_strided_arr_uint_2_uint_3
-     %uint_4 = OpConstant %uint 4
-%_arr_strided_arr_1_tint_explicit_layout_uint_4 = OpTypeArray %strided_arr_1_tint_explicit_layout %uint_4
-%S_tint_explicit_layout = OpTypeStruct %_arr_strided_arr_1_tint_explicit_layout_uint_4
-%s_block_tint_explicit_layout = OpTypeStruct %S_tint_explicit_layout
-%_ptr_StorageBuffer_s_block_tint_explicit_layout = OpTypePointer StorageBuffer %s_block_tint_explicit_layout
-          %1 = OpVariable %_ptr_StorageBuffer_s_block_tint_explicit_layout StorageBuffer
-       %void = OpTypeVoid
-         %17 = OpTypeFunction %void
-%_ptr_StorageBuffer__arr_strided_arr_1_tint_explicit_layout_uint_4 = OpTypePointer StorageBuffer %_arr_strided_arr_1_tint_explicit_layout_uint_4
-     %uint_0 = OpConstant %uint 0
-%_arr_strided_arr_uint_2_0 = OpTypeArray %strided_arr %uint_2
-%_arr__arr_strided_arr_uint_2_0_uint_3 = OpTypeArray %_arr_strided_arr_uint_2_0 %uint_3
-%strided_arr_1 = OpTypeStruct %_arr__arr_strided_arr_uint_2_0_uint_3
-%_arr_strided_arr_1_uint_4 = OpTypeArray %strided_arr_1 %uint_4
-%_ptr_StorageBuffer__arr__arr_strided_arr_uint_2_uint_3 = OpTypePointer StorageBuffer %_arr__arr_strided_arr_uint_2_uint_3
-%_ptr_StorageBuffer__arr_strided_arr_uint_2 = OpTypePointer StorageBuffer %_arr_strided_arr_uint_2
-%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
-     %uint_1 = OpConstant %uint 1
-         %45 = OpConstantNull %_arr_strided_arr_1_uint_4
-    %float_5 = OpConstant %float 5
-         %52 = OpTypeFunction %void %_arr_strided_arr_1_uint_4
-%_ptr_Function__arr_strided_arr_1_uint_4 = OpTypePointer Function %_arr_strided_arr_1_uint_4
-       %bool = OpTypeBool
-%_ptr_Function_strided_arr_1 = OpTypePointer Function %strided_arr_1
-%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
-         %76 = OpTypeFunction %void %_arr_uint_uint_1 %strided_arr_1
-         %85 = OpTypeFunction %void %_arr_uint_uint_1 %_arr__arr_strided_arr_uint_2_0_uint_3
-%_ptr_Function__arr__arr_strided_arr_uint_2_0_uint_3 = OpTypePointer Function %_arr__arr_strided_arr_uint_2_0_uint_3
-%_ptr_Function__arr_strided_arr_uint_2_0 = OpTypePointer Function %_arr_strided_arr_uint_2_0
-%_arr_uint_uint_2 = OpTypeArray %uint %uint_2
-        %109 = OpTypeFunction %void %_arr_uint_uint_2 %_arr_strided_arr_uint_2_0
-%_ptr_Function_strided_arr = OpTypePointer Function %strided_arr
-%_arr_uint_uint_3 = OpTypeArray %uint %uint_3
-        %133 = OpTypeFunction %void %_arr_uint_uint_3 %strided_arr
-        %141 = OpTypeFunction %_arr_strided_arr_1_uint_4 %_arr_strided_arr_1_tint_explicit_layout_uint_4
-%_ptr_Function__arr_strided_arr_1_tint_explicit_layout_uint_4 = OpTypePointer Function %_arr_strided_arr_1_tint_explicit_layout_uint_4
-%_ptr_Function_strided_arr_1_tint_explicit_layout = OpTypePointer Function %strided_arr_1_tint_explicit_layout
-        %164 = OpTypeFunction %strided_arr_1 %strided_arr_1_tint_explicit_layout
-        %170 = OpTypeFunction %_arr__arr_strided_arr_uint_2_0_uint_3 %_arr__arr_strided_arr_uint_2_uint_3
-%_ptr_Function__arr__arr_strided_arr_uint_2_uint_3 = OpTypePointer Function %_arr__arr_strided_arr_uint_2_uint_3
-        %175 = OpConstantNull %_arr__arr_strided_arr_uint_2_0_uint_3
-%_ptr_Function__arr_strided_arr_uint_2 = OpTypePointer Function %_arr_strided_arr_uint_2
-        %193 = OpTypeFunction %_arr_strided_arr_uint_2_0 %_arr_strided_arr_uint_2
-        %197 = OpConstantNull %_arr_strided_arr_uint_2_0
-        %f_1 = OpFunction %void None %17
-         %18 = OpLabel
-         %19 = OpAccessChain %_ptr_StorageBuffer__arr_strided_arr_1_tint_explicit_layout_uint_4 %1 %uint_0 %uint_0
-         %22 = OpLoad %_arr_strided_arr_1_tint_explicit_layout_uint_4 %19 None
-       %x_19 = OpFunctionCall %_arr_strided_arr_1_uint_4 %tint_convert_explicit_layout %22
-         %29 = OpAccessChain %_ptr_StorageBuffer__arr__arr_strided_arr_uint_2_uint_3 %1 %uint_0 %uint_0 %uint_3 %uint_0
-         %31 = OpLoad %_arr__arr_strided_arr_uint_2_uint_3 %29 None
-       %x_24 = OpFunctionCall %_arr__arr_strided_arr_uint_2_0_uint_3 %tint_convert_explicit_layout_1 %31
-         %34 = OpAccessChain %_ptr_StorageBuffer__arr_strided_arr_uint_2 %1 %uint_0 %uint_0 %uint_3 %uint_0 %uint_2
-         %36 = OpLoad %_arr_strided_arr_uint_2 %34 None
-       %x_28 = OpFunctionCall %_arr_strided_arr_uint_2_0 %tint_convert_explicit_layout_2 %36
-         %39 = OpAccessChain %_ptr_StorageBuffer_float %1 %uint_0 %uint_0 %uint_3 %uint_0 %uint_2 %uint_1 %uint_0
-       %x_32 = OpLoad %float %39 None
-         %43 = OpFunctionCall %void %tint_store_and_preserve_padding %45
-         %46 = OpAccessChain %_ptr_StorageBuffer_float %1 %uint_0 %uint_0 %uint_3 %uint_0 %uint_2 %uint_1 %uint_0
-               OpStore %46 %float_5 None
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %17
-         %49 = OpLabel
-         %50 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
-%tint_store_and_preserve_padding = OpFunction %void None %52
-%value_param = OpFunctionParameter %_arr_strided_arr_1_uint_4
-         %53 = OpLabel
-         %54 = OpVariable %_ptr_Function__arr_strided_arr_1_uint_4 Function
-               OpStore %54 %value_param
-               OpBranch %56
-         %56 = OpLabel
-               OpBranch %59
-         %59 = OpLabel
-         %61 = OpPhi %uint %uint_0 %56 %62 %58
-               OpLoopMerge %60 %58 None
-               OpBranch %57
-         %57 = OpLabel
-         %63 = OpUGreaterThanEqual %bool %61 %uint_4
-               OpSelectionMerge %65 None
-               OpBranchConditional %63 %66 %65
-         %66 = OpLabel
-               OpBranch %60
-         %65 = OpLabel
-         %67 = OpAccessChain %_ptr_Function_strided_arr_1 %54 %61
-         %69 = OpLoad %strided_arr_1 %67 None
-         %71 = OpCompositeConstruct %_arr_uint_uint_1 %61
-         %72 = OpFunctionCall %void %tint_store_and_preserve_padding_0 %71 %69
-               OpBranch %58
-         %58 = OpLabel
-         %62 = OpIAdd %uint %61 %uint_1
-               OpBranch %59
-         %60 = OpLabel
-               OpReturn
-               OpFunctionEnd
-%tint_store_and_preserve_padding_0 = OpFunction %void None %76
-%target_indices = OpFunctionParameter %_arr_uint_uint_1
-%value_param_0 = OpFunctionParameter %strided_arr_1
-         %77 = OpLabel
-         %78 = OpCompositeExtract %uint %target_indices 0
-         %79 = OpCompositeExtract %_arr__arr_strided_arr_uint_2_0_uint_3 %value_param_0 0
-         %80 = OpCompositeConstruct %_arr_uint_uint_1 %78
-         %81 = OpFunctionCall %void %tint_store_and_preserve_padding_1 %80 %79
-               OpReturn
-               OpFunctionEnd
-%tint_store_and_preserve_padding_1 = OpFunction %void None %85
-%target_indices_0 = OpFunctionParameter %_arr_uint_uint_1
-%value_param_1 = OpFunctionParameter %_arr__arr_strided_arr_uint_2_0_uint_3
-         %86 = OpLabel
-         %87 = OpVariable %_ptr_Function__arr__arr_strided_arr_uint_2_0_uint_3 Function
-               OpStore %87 %value_param_1
-         %89 = OpCompositeExtract %uint %target_indices_0 0
-               OpBranch %90
-         %90 = OpLabel
-               OpBranch %93
-         %93 = OpLabel
-         %95 = OpPhi %uint %uint_0 %90 %96 %92
-               OpLoopMerge %94 %92 None
-               OpBranch %91
-         %91 = OpLabel
-         %97 = OpUGreaterThanEqual %bool %95 %uint_3
-               OpSelectionMerge %98 None
-               OpBranchConditional %97 %99 %98
-         %99 = OpLabel
-               OpBranch %94
-         %98 = OpLabel
-        %100 = OpAccessChain %_ptr_Function__arr_strided_arr_uint_2_0 %87 %95
-        %102 = OpLoad %_arr_strided_arr_uint_2_0 %100 None
-        %104 = OpCompositeConstruct %_arr_uint_uint_2 %89 %95
-        %105 = OpFunctionCall %void %tint_store_and_preserve_padding_2 %104 %102
-               OpBranch %92
-         %92 = OpLabel
-         %96 = OpIAdd %uint %95 %uint_1
-               OpBranch %93
-         %94 = OpLabel
-               OpReturn
-               OpFunctionEnd
-%tint_store_and_preserve_padding_2 = OpFunction %void None %109
-%target_indices_1 = OpFunctionParameter %_arr_uint_uint_2
-%value_param_2 = OpFunctionParameter %_arr_strided_arr_uint_2_0
-        %110 = OpLabel
-        %111 = OpVariable %_ptr_Function__arr_strided_arr_uint_2_0 Function
-               OpStore %111 %value_param_2
-        %112 = OpCompositeExtract %uint %target_indices_1 0
-        %113 = OpCompositeExtract %uint %target_indices_1 1
-               OpBranch %114
-        %114 = OpLabel
-               OpBranch %117
-        %117 = OpLabel
-        %119 = OpPhi %uint %uint_0 %114 %120 %116
-               OpLoopMerge %118 %116 None
-               OpBranch %115
-        %115 = OpLabel
-        %121 = OpUGreaterThanEqual %bool %119 %uint_2
-               OpSelectionMerge %122 None
-               OpBranchConditional %121 %123 %122
-        %123 = OpLabel
-               OpBranch %118
-        %122 = OpLabel
-        %124 = OpAccessChain %_ptr_Function_strided_arr %111 %119
-        %126 = OpLoad %strided_arr %124 None
-        %128 = OpCompositeConstruct %_arr_uint_uint_3 %112 %113 %119
-        %129 = OpFunctionCall %void %tint_store_and_preserve_padding_3 %128 %126
-               OpBranch %116
-        %116 = OpLabel
-        %120 = OpIAdd %uint %119 %uint_1
-               OpBranch %117
-        %118 = OpLabel
-               OpReturn
-               OpFunctionEnd
-%tint_store_and_preserve_padding_3 = OpFunction %void None %133
-%target_indices_2 = OpFunctionParameter %_arr_uint_uint_3
-%value_param_3 = OpFunctionParameter %strided_arr
-        %134 = OpLabel
-        %135 = OpCompositeExtract %uint %target_indices_2 0
-        %136 = OpCompositeExtract %uint %target_indices_2 1
-        %137 = OpCompositeExtract %uint %target_indices_2 2
-        %138 = OpAccessChain %_ptr_StorageBuffer_float %1 %uint_0 %uint_0 %135 %uint_0 %136 %137 %uint_0
-        %139 = OpCompositeExtract %float %value_param_3 0
-               OpStore %138 %139 None
-               OpReturn
-               OpFunctionEnd
-%tint_convert_explicit_layout = OpFunction %_arr_strided_arr_1_uint_4 None %141
-%tint_source = OpFunctionParameter %_arr_strided_arr_1_tint_explicit_layout_uint_4
-        %142 = OpLabel
-        %143 = OpVariable %_ptr_Function__arr_strided_arr_1_tint_explicit_layout_uint_4 Function
-        %145 = OpVariable %_ptr_Function__arr_strided_arr_1_uint_4 Function %45
-               OpStore %143 %tint_source
-               OpBranch %146
-        %146 = OpLabel
-               OpBranch %149
-        %149 = OpLabel
-        %151 = OpPhi %uint %uint_0 %146 %152 %148
-               OpLoopMerge %150 %148 None
-               OpBranch %147
-        %147 = OpLabel
-        %153 = OpUGreaterThanEqual %bool %151 %uint_4
-               OpSelectionMerge %154 None
-               OpBranchConditional %153 %155 %154
-        %155 = OpLabel
-               OpBranch %150
-        %154 = OpLabel
-        %156 = OpAccessChain %_ptr_Function_strided_arr_1_tint_explicit_layout %143 %151
-        %158 = OpLoad %strided_arr_1_tint_explicit_layout %156 None
-        %159 = OpFunctionCall %strided_arr_1 %tint_convert_explicit_layout_0 %158
-        %161 = OpAccessChain %_ptr_Function_strided_arr_1 %145 %151
-               OpStore %161 %159 None
-               OpBranch %148
-        %148 = OpLabel
-        %152 = OpIAdd %uint %151 %uint_1
-               OpBranch %149
-        %150 = OpLabel
-        %162 = OpLoad %_arr_strided_arr_1_uint_4 %145 None
-               OpReturnValue %162
-               OpFunctionEnd
-%tint_convert_explicit_layout_0 = OpFunction %strided_arr_1 None %164
-%tint_source_0 = OpFunctionParameter %strided_arr_1_tint_explicit_layout
-        %165 = OpLabel
-        %166 = OpCompositeExtract %_arr__arr_strided_arr_uint_2_uint_3 %tint_source_0 0
-        %167 = OpFunctionCall %_arr__arr_strided_arr_uint_2_0_uint_3 %tint_convert_explicit_layout_1 %166
-        %168 = OpCompositeConstruct %strided_arr_1 %167
-               OpReturnValue %168
-               OpFunctionEnd
-%tint_convert_explicit_layout_1 = OpFunction %_arr__arr_strided_arr_uint_2_0_uint_3 None %170
-%tint_source_1 = OpFunctionParameter %_arr__arr_strided_arr_uint_2_uint_3
-        %171 = OpLabel
-        %172 = OpVariable %_ptr_Function__arr__arr_strided_arr_uint_2_uint_3 Function
-        %174 = OpVariable %_ptr_Function__arr__arr_strided_arr_uint_2_0_uint_3 Function %175
-               OpStore %172 %tint_source_1
-               OpBranch %176
-        %176 = OpLabel
-               OpBranch %179
-        %179 = OpLabel
-        %181 = OpPhi %uint %uint_0 %176 %182 %178
-               OpLoopMerge %180 %178 None
-               OpBranch %177
-        %177 = OpLabel
-        %183 = OpUGreaterThanEqual %bool %181 %uint_3
-               OpSelectionMerge %184 None
-               OpBranchConditional %183 %185 %184
-        %185 = OpLabel
-               OpBranch %180
-        %184 = OpLabel
-        %186 = OpAccessChain %_ptr_Function__arr_strided_arr_uint_2 %172 %181
-        %188 = OpLoad %_arr_strided_arr_uint_2 %186 None
-        %189 = OpFunctionCall %_arr_strided_arr_uint_2_0 %tint_convert_explicit_layout_2 %188
-        %190 = OpAccessChain %_ptr_Function__arr_strided_arr_uint_2_0 %174 %181
-               OpStore %190 %189 None
-               OpBranch %178
-        %178 = OpLabel
-        %182 = OpIAdd %uint %181 %uint_1
-               OpBranch %179
-        %180 = OpLabel
-        %191 = OpLoad %_arr__arr_strided_arr_uint_2_0_uint_3 %174 None
-               OpReturnValue %191
-               OpFunctionEnd
-%tint_convert_explicit_layout_2 = OpFunction %_arr_strided_arr_uint_2_0 None %193
-%tint_source_2 = OpFunctionParameter %_arr_strided_arr_uint_2
-        %194 = OpLabel
-        %195 = OpVariable %_ptr_Function__arr_strided_arr_uint_2 Function
-        %196 = OpVariable %_ptr_Function__arr_strided_arr_uint_2_0 Function %197
-               OpStore %195 %tint_source_2
-               OpBranch %198
-        %198 = OpLabel
-               OpBranch %201
-        %201 = OpLabel
-        %203 = OpPhi %uint %uint_0 %198 %204 %200
-               OpLoopMerge %202 %200 None
-               OpBranch %199
-        %199 = OpLabel
-        %205 = OpUGreaterThanEqual %bool %203 %uint_2
-               OpSelectionMerge %206 None
-               OpBranchConditional %205 %207 %206
-        %207 = OpLabel
-               OpBranch %202
-        %206 = OpLabel
-        %208 = OpAccessChain %_ptr_Function_strided_arr %195 %203
-        %209 = OpLoad %strided_arr %208 None
-        %210 = OpAccessChain %_ptr_Function_strided_arr %196 %203
-               OpStore %210 %209 None
-               OpBranch %200
-        %200 = OpLabel
-        %204 = OpIAdd %uint %203 %uint_1
-               OpBranch %201
-        %202 = OpLabel
-        %211 = OpLoad %_arr_strided_arr_uint_2_0 %196 None
-               OpReturnValue %211
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/1061.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/1061.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 6bfe3c7..0000000
--- a/test/tint/bug/tint/1061.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  float f = 0.0f;
-  float4 v = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  f = 1.0f;
-  v = float4(sin(f), cos(f), exp2(f), log(f));
-  if ((distance(v, asfloat(x_7[0])) < 0.10000000149011611938f)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = (0.0f).xxxx;
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
diff --git a/test/tint/bug/tint/1061.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/1061.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 6bfe3c7..0000000
--- a/test/tint/bug/tint/1061.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  float f = 0.0f;
-  float4 v = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  f = 1.0f;
-  v = float4(sin(f), cos(f), exp2(f), log(f));
-  if ((distance(v, asfloat(x_7[0])) < 0.10000000149011611938f)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = (0.0f).xxxx;
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
diff --git a/test/tint/bug/tint/1061.spvasm.expected.glsl b/test/tint/bug/tint/1061.spvasm.expected.glsl
deleted file mode 100644
index 1e3f72d..0000000
--- a/test/tint/bug/tint/1061.spvasm.expected.glsl
+++ /dev/null
@@ -1,37 +0,0 @@
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec4 r;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform f_x_7_block_ubo {
-  buf0 inner;
-} v_1;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 main_loc0_Output;
-void main_1() {
-  float f = 0.0f;
-  vec4 v = vec4(0.0f);
-  f = 1.0f;
-  v = vec4(sin(f), cos(f), exp2(f), log(f));
-  if ((distance(v, v_1.inner.r) < 0.10000000149011611938f)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out main_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  main_loc0_Output = main_inner().x_GLF_color_1;
-}
diff --git a/test/tint/bug/tint/1061.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/1061.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index b783d2e..0000000
--- a/test/tint/bug/tint/1061.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-struct main_out {
-  float4 x_GLF_color_1;
-};
-
-struct main_outputs {
-  float4 main_out_x_GLF_color_1 : SV_Target0;
-};
-
-
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-static float4 x_GLF_color = (0.0f).xxxx;
-void main_1() {
-  float f = 0.0f;
-  float4 v = (0.0f).xxxx;
-  f = 1.0f;
-  v = float4(sin(f), cos(f), exp2(f), log(f));
-  if ((distance(v, asfloat(x_7[0u])) < 0.10000000149011611938f)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = (0.0f).xxxx;
-  }
-}
-
-main_out main_inner() {
-  main_1();
-  main_out v_1 = {x_GLF_color};
-  return v_1;
-}
-
-main_outputs main() {
-  main_out v_2 = main_inner();
-  main_outputs v_3 = {v_2.x_GLF_color_1};
-  return v_3;
-}
-
diff --git a/test/tint/bug/tint/1061.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/1061.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index b783d2e..0000000
--- a/test/tint/bug/tint/1061.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-struct main_out {
-  float4 x_GLF_color_1;
-};
-
-struct main_outputs {
-  float4 main_out_x_GLF_color_1 : SV_Target0;
-};
-
-
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-static float4 x_GLF_color = (0.0f).xxxx;
-void main_1() {
-  float f = 0.0f;
-  float4 v = (0.0f).xxxx;
-  f = 1.0f;
-  v = float4(sin(f), cos(f), exp2(f), log(f));
-  if ((distance(v, asfloat(x_7[0u])) < 0.10000000149011611938f)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = (0.0f).xxxx;
-  }
-}
-
-main_out main_inner() {
-  main_1();
-  main_out v_1 = {x_GLF_color};
-  return v_1;
-}
-
-main_outputs main() {
-  main_out v_2 = main_inner();
-  main_outputs v_3 = {v_2.x_GLF_color_1};
-  return v_3;
-}
-
diff --git a/test/tint/bug/tint/1061.spvasm.expected.msl b/test/tint/bug/tint/1061.spvasm.expected.msl
deleted file mode 100644
index 042e486..0000000
--- a/test/tint/bug/tint/1061.spvasm.expected.msl
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct buf0 {
-  /* 0x0000 */ float4 r;
-};
-
-struct tint_module_vars_struct {
-  const constant buf0* x_7;
-  thread float4* x_GLF_color;
-};
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-
-struct main_outputs {
-  float4 main_out_x_GLF_color_1 [[color(0)]];
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  float f = 0.0f;
-  float4 v = 0.0f;
-  f = 1.0f;
-  v = float4(sin(f), cos(f), exp2(f), log(f));
-  if ((distance(v, (*tint_module_vars.x_7).r) < 0.10000000149011611938f)) {
-    (*tint_module_vars.x_GLF_color) = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    (*tint_module_vars.x_GLF_color) = float4(0.0f);
-  }
-}
-
-main_out main_inner(tint_module_vars_struct tint_module_vars) {
-  main_1(tint_module_vars);
-  return main_out{.x_GLF_color_1=(*tint_module_vars.x_GLF_color)};
-}
-
-fragment main_outputs v_1(const constant buf0* x_7 [[buffer(0)]]) {
-  thread float4 x_GLF_color = 0.0f;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.x_7=x_7, .x_GLF_color=(&x_GLF_color)};
-  main_outputs tint_wrapper_result = {};
-  tint_wrapper_result.main_out_x_GLF_color_1 = main_inner(tint_module_vars).x_GLF_color_1;
-  return tint_wrapper_result;
-}
diff --git a/test/tint/bug/tint/1061.spvasm.expected.spvasm b/test/tint/bug/tint/1061.spvasm.expected.spvasm
deleted file mode 100644
index e93adce..0000000
--- a/test/tint/bug/tint/1061.spvasm.expected.spvasm
+++ /dev/null
@@ -1,101 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 58
-; Schema: 0
-               OpCapability Shader
-         %24 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %main "main" %main_loc0_Output
-               OpExecutionMode %main OriginUpperLeft
-               OpMemberName %buf0 0 "r"
-               OpName %buf0 "buf0"
-               OpMemberName %x_7_block 0 "inner"
-               OpName %x_7_block "x_7_block"
-               OpName %x_GLF_color "x_GLF_color"
-               OpName %main_loc0_Output "main_loc0_Output"
-               OpName %main_1 "main_1"
-               OpName %f "f"
-               OpName %v "v"
-               OpName %main_inner "main_inner"
-               OpMemberName %main_out 0 "x_GLF_color_1"
-               OpName %main_out "main_out"
-               OpName %main "main"
-               OpMemberDecorate %buf0 0 Offset 0
-               OpMemberDecorate %x_7_block 0 Offset 0
-               OpDecorate %x_7_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 NonWritable
-               OpDecorate %main_loc0_Output Location 0
-      %float = OpTypeFloat 32
-    %v4float = OpTypeVector %float 4
-       %buf0 = OpTypeStruct %v4float
-  %x_7_block = OpTypeStruct %buf0
-%_ptr_Uniform_x_7_block = OpTypePointer Uniform %x_7_block
-          %1 = OpVariable %_ptr_Uniform_x_7_block Uniform
-%_ptr_Private_v4float = OpTypePointer Private %v4float
-          %9 = OpConstantNull %v4float
-%x_GLF_color = OpVariable %_ptr_Private_v4float Private %9
-%_ptr_Output_v4float = OpTypePointer Output %v4float
-%main_loc0_Output = OpVariable %_ptr_Output_v4float Output
-       %void = OpTypeVoid
-         %14 = OpTypeFunction %void
-%_ptr_Function_float = OpTypePointer Function %float
-         %18 = OpConstantNull %float
-%_ptr_Function_v4float = OpTypePointer Function %v4float
-    %float_1 = OpConstant %float 1
-%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-%float_0_100000001 = OpConstant %float 0.100000001
-       %bool = OpTypeBool
-    %float_0 = OpConstant %float 0
-         %45 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
-   %main_out = OpTypeStruct %v4float
-         %49 = OpTypeFunction %main_out
-     %main_1 = OpFunction %void None %14
-         %15 = OpLabel
-          %f = OpVariable %_ptr_Function_float Function %18
-          %v = OpVariable %_ptr_Function_v4float Function %9
-               OpStore %f %float_1 None
-         %22 = OpLoad %float %f None
-         %23 = OpExtInst %float %24 Sin %22
-         %25 = OpLoad %float %f None
-         %26 = OpExtInst %float %24 Cos %25
-         %27 = OpLoad %float %f None
-         %28 = OpExtInst %float %24 Exp2 %27
-         %29 = OpLoad %float %f None
-         %30 = OpExtInst %float %24 Log %29
-         %31 = OpCompositeConstruct %v4float %23 %26 %28 %30
-               OpStore %v %31 None
-         %32 = OpLoad %v4float %v None
-         %33 = OpAccessChain %_ptr_Uniform_v4float %1 %uint_0 %uint_0
-         %37 = OpLoad %v4float %33 None
-         %38 = OpExtInst %float %24 Distance %32 %37
-         %39 = OpFOrdLessThan %bool %38 %float_0_100000001
-               OpSelectionMerge %42 None
-               OpBranchConditional %39 %43 %44
-         %43 = OpLabel
-               OpStore %x_GLF_color %45 None
-               OpBranch %42
-         %44 = OpLabel
-               OpStore %x_GLF_color %9 None
-               OpBranch %42
-         %42 = OpLabel
-               OpReturn
-               OpFunctionEnd
- %main_inner = OpFunction %main_out None %49
-         %50 = OpLabel
-         %51 = OpFunctionCall %void %main_1
-         %52 = OpLoad %v4float %x_GLF_color None
-         %53 = OpCompositeConstruct %main_out %52
-               OpReturnValue %53
-               OpFunctionEnd
-       %main = OpFunction %void None %14
-         %55 = OpLabel
-         %56 = OpFunctionCall %main_out %main_inner
-         %57 = OpCompositeExtract %v4float %56 0
-               OpStore %main_loc0_Output %57 None
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/1088.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/1088.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 4a07c0a..0000000
--- a/test/tint/bug/tint/1088.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,60 +0,0 @@
-static float3 position_1 = float3(0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_14 : register(b2, space2) {
-  uint4 x_14[17];
-};
-static float2 vUV = float2(0.0f, 0.0f);
-static float2 uv = float2(0.0f, 0.0f);
-static float3 normal = float3(0.0f, 0.0f, 0.0f);
-static float4 gl_Position = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-float4x4 x_14_load_1(uint offset) {
-  const uint scalar_offset = ((offset + 0u)) / 4;
-  const uint scalar_offset_1 = ((offset + 16u)) / 4;
-  const uint scalar_offset_2 = ((offset + 32u)) / 4;
-  const uint scalar_offset_3 = ((offset + 48u)) / 4;
-  return float4x4(asfloat(x_14[scalar_offset / 4]), asfloat(x_14[scalar_offset_1 / 4]), asfloat(x_14[scalar_offset_2 / 4]), asfloat(x_14[scalar_offset_3 / 4]));
-}
-
-void main_1() {
-  float4 q = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float3 p = float3(0.0f, 0.0f, 0.0f);
-  q = float4(position_1.x, position_1.y, position_1.z, 1.0f);
-  p = q.xyz;
-  p.x = (p.x + sin(((asfloat(x_14[13].x) * position_1.y) + asfloat(x_14[4].x))));
-  p.y = (p.y + sin((asfloat(x_14[4].x) + 4.0f)));
-  gl_Position = mul(float4(p.x, p.y, p.z, 1.0f), x_14_load_1(0u));
-  vUV = uv;
-  gl_Position.y = (gl_Position.y * -1.0f);
-  return;
-}
-
-struct main_out {
-  float4 gl_Position;
-  float2 vUV_1;
-};
-struct tint_symbol_1 {
-  float3 position_1_param : TEXCOORD0;
-  float3 normal_param : TEXCOORD1;
-  float2 uv_param : TEXCOORD2;
-};
-struct tint_symbol_2 {
-  float2 vUV_1 : TEXCOORD0;
-  float4 gl_Position : SV_Position;
-};
-
-main_out main_inner(float3 position_1_param, float2 uv_param, float3 normal_param) {
-  position_1 = position_1_param;
-  uv = uv_param;
-  normal = normal_param;
-  main_1();
-  main_out tint_symbol_3 = {gl_Position, vUV};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(tint_symbol.position_1_param, tint_symbol.uv_param, tint_symbol.normal_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.gl_Position = inner_result.gl_Position;
-  wrapper_result.vUV_1 = inner_result.vUV_1;
-  return wrapper_result;
-}
diff --git a/test/tint/bug/tint/1088.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/1088.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 4a07c0a..0000000
--- a/test/tint/bug/tint/1088.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,60 +0,0 @@
-static float3 position_1 = float3(0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_14 : register(b2, space2) {
-  uint4 x_14[17];
-};
-static float2 vUV = float2(0.0f, 0.0f);
-static float2 uv = float2(0.0f, 0.0f);
-static float3 normal = float3(0.0f, 0.0f, 0.0f);
-static float4 gl_Position = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-float4x4 x_14_load_1(uint offset) {
-  const uint scalar_offset = ((offset + 0u)) / 4;
-  const uint scalar_offset_1 = ((offset + 16u)) / 4;
-  const uint scalar_offset_2 = ((offset + 32u)) / 4;
-  const uint scalar_offset_3 = ((offset + 48u)) / 4;
-  return float4x4(asfloat(x_14[scalar_offset / 4]), asfloat(x_14[scalar_offset_1 / 4]), asfloat(x_14[scalar_offset_2 / 4]), asfloat(x_14[scalar_offset_3 / 4]));
-}
-
-void main_1() {
-  float4 q = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float3 p = float3(0.0f, 0.0f, 0.0f);
-  q = float4(position_1.x, position_1.y, position_1.z, 1.0f);
-  p = q.xyz;
-  p.x = (p.x + sin(((asfloat(x_14[13].x) * position_1.y) + asfloat(x_14[4].x))));
-  p.y = (p.y + sin((asfloat(x_14[4].x) + 4.0f)));
-  gl_Position = mul(float4(p.x, p.y, p.z, 1.0f), x_14_load_1(0u));
-  vUV = uv;
-  gl_Position.y = (gl_Position.y * -1.0f);
-  return;
-}
-
-struct main_out {
-  float4 gl_Position;
-  float2 vUV_1;
-};
-struct tint_symbol_1 {
-  float3 position_1_param : TEXCOORD0;
-  float3 normal_param : TEXCOORD1;
-  float2 uv_param : TEXCOORD2;
-};
-struct tint_symbol_2 {
-  float2 vUV_1 : TEXCOORD0;
-  float4 gl_Position : SV_Position;
-};
-
-main_out main_inner(float3 position_1_param, float2 uv_param, float3 normal_param) {
-  position_1 = position_1_param;
-  uv = uv_param;
-  normal = normal_param;
-  main_1();
-  main_out tint_symbol_3 = {gl_Position, vUV};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(tint_symbol.position_1_param, tint_symbol.uv_param, tint_symbol.normal_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.gl_Position = inner_result.gl_Position;
-  wrapper_result.vUV_1 = inner_result.vUV_1;
-  return wrapper_result;
-}
diff --git a/test/tint/bug/tint/1088.spvasm.expected.glsl b/test/tint/bug/tint/1088.spvasm.expected.glsl
deleted file mode 100644
index ce5737d..0000000
--- a/test/tint/bug/tint/1088.spvasm.expected.glsl
+++ /dev/null
@@ -1,63 +0,0 @@
-#version 310 es
-
-
-struct strided_arr {
-  float el;
-  uint tint_pad_0;
-  uint tint_pad_1;
-  uint tint_pad_2;
-};
-
-struct LeftOver {
-  mat4 worldViewProjection;
-  float time;
-  uint tint_pad_0;
-  uint tint_pad_1;
-  uint tint_pad_2;
-  mat4 test2[2];
-  strided_arr test[4];
-};
-
-struct main_out {
-  vec4 member_0;
-  vec2 vUV_1;
-};
-
-vec3 position_1 = vec3(0.0f);
-layout(binding = 2, std140)
-uniform v_x_14_block_ubo {
-  LeftOver inner;
-} v;
-vec2 vUV = vec2(0.0f);
-vec2 uv = vec2(0.0f);
-vec3 normal = vec3(0.0f);
-vec4 v_1 = vec4(0.0f);
-layout(location = 0) in vec3 main_loc0_Input;
-layout(location = 2) in vec2 main_loc2_Input;
-layout(location = 1) in vec3 main_loc1_Input;
-layout(location = 0) out vec2 tint_interstage_location0;
-void main_1() {
-  vec4 q = vec4(0.0f);
-  vec3 p = vec3(0.0f);
-  q = vec4(position_1.x, position_1.y, position_1.z, 1.0f);
-  p = q.xyz;
-  p.x = (p.x + sin(((v.inner.test[0u].el * position_1.y) + v.inner.time)));
-  p.y = (p.y + sin((v.inner.time + 4.0f)));
-  mat4 v_2 = v.inner.worldViewProjection;
-  v_1 = (v_2 * vec4(p.x, p.y, p.z, 1.0f));
-  vUV = uv;
-  v_1.y = (v_1.y * -1.0f);
-}
-main_out main_inner(vec3 position_1_param, vec2 uv_param, vec3 normal_param) {
-  position_1 = position_1_param;
-  uv = uv_param;
-  normal = normal_param;
-  main_1();
-  return main_out(v_1, vUV);
-}
-void main() {
-  main_out v_3 = main_inner(main_loc0_Input, main_loc2_Input, main_loc1_Input);
-  gl_Position = vec4(v_3.member_0.x, -(v_3.member_0.y), ((2.0f * v_3.member_0.z) - v_3.member_0.w), v_3.member_0.w);
-  tint_interstage_location0 = v_3.vUV_1;
-  gl_PointSize = 1.0f;
-}
diff --git a/test/tint/bug/tint/1088.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/1088.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 320bc85..0000000
--- a/test/tint/bug/tint/1088.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-struct main_out {
-  float4 gl_Position;
-  float2 vUV_1;
-};
-
-struct main_outputs {
-  float2 main_out_vUV_1 : TEXCOORD0;
-  float4 main_out_gl_Position : SV_Position;
-};
-
-struct main_inputs {
-  float3 position_1_param : TEXCOORD0;
-  float3 normal_param : TEXCOORD1;
-  float2 uv_param : TEXCOORD2;
-};
-
-
-static float3 position_1 = (0.0f).xxx;
-cbuffer cbuffer_x_14 : register(b2, space2) {
-  uint4 x_14[17];
-};
-static float2 vUV = (0.0f).xx;
-static float2 uv = (0.0f).xx;
-static float3 normal = (0.0f).xxx;
-static float4 gl_Position = (0.0f).xxxx;
-float4x4 v(uint start_byte_offset) {
-  return float4x4(asfloat(x_14[(start_byte_offset / 16u)]), asfloat(x_14[((16u + start_byte_offset) / 16u)]), asfloat(x_14[((32u + start_byte_offset) / 16u)]), asfloat(x_14[((48u + start_byte_offset) / 16u)]));
-}
-
-void main_1() {
-  float4 q = (0.0f).xxxx;
-  float3 p = (0.0f).xxx;
-  q = float4(position_1.x, position_1.y, position_1.z, 1.0f);
-  p = q.xyz;
-  p.x = (p.x + sin(((asfloat(x_14[13u].x) * position_1.y) + asfloat(x_14[4u].x))));
-  p.y = (p.y + sin((asfloat(x_14[4u].x) + 4.0f)));
-  float4x4 v_1 = v(0u);
-  gl_Position = mul(float4(p.x, p.y, p.z, 1.0f), v_1);
-  vUV = uv;
-  gl_Position.y = (gl_Position.y * -1.0f);
-}
-
-main_out main_inner(float3 position_1_param, float2 uv_param, float3 normal_param) {
-  position_1 = position_1_param;
-  uv = uv_param;
-  normal = normal_param;
-  main_1();
-  main_out v_2 = {gl_Position, vUV};
-  return v_2;
-}
-
-main_outputs main(main_inputs inputs) {
-  main_out v_3 = main_inner(inputs.position_1_param, inputs.uv_param, inputs.normal_param);
-  main_outputs v_4 = {v_3.vUV_1, v_3.gl_Position};
-  return v_4;
-}
-
diff --git a/test/tint/bug/tint/1088.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/1088.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 320bc85..0000000
--- a/test/tint/bug/tint/1088.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-struct main_out {
-  float4 gl_Position;
-  float2 vUV_1;
-};
-
-struct main_outputs {
-  float2 main_out_vUV_1 : TEXCOORD0;
-  float4 main_out_gl_Position : SV_Position;
-};
-
-struct main_inputs {
-  float3 position_1_param : TEXCOORD0;
-  float3 normal_param : TEXCOORD1;
-  float2 uv_param : TEXCOORD2;
-};
-
-
-static float3 position_1 = (0.0f).xxx;
-cbuffer cbuffer_x_14 : register(b2, space2) {
-  uint4 x_14[17];
-};
-static float2 vUV = (0.0f).xx;
-static float2 uv = (0.0f).xx;
-static float3 normal = (0.0f).xxx;
-static float4 gl_Position = (0.0f).xxxx;
-float4x4 v(uint start_byte_offset) {
-  return float4x4(asfloat(x_14[(start_byte_offset / 16u)]), asfloat(x_14[((16u + start_byte_offset) / 16u)]), asfloat(x_14[((32u + start_byte_offset) / 16u)]), asfloat(x_14[((48u + start_byte_offset) / 16u)]));
-}
-
-void main_1() {
-  float4 q = (0.0f).xxxx;
-  float3 p = (0.0f).xxx;
-  q = float4(position_1.x, position_1.y, position_1.z, 1.0f);
-  p = q.xyz;
-  p.x = (p.x + sin(((asfloat(x_14[13u].x) * position_1.y) + asfloat(x_14[4u].x))));
-  p.y = (p.y + sin((asfloat(x_14[4u].x) + 4.0f)));
-  float4x4 v_1 = v(0u);
-  gl_Position = mul(float4(p.x, p.y, p.z, 1.0f), v_1);
-  vUV = uv;
-  gl_Position.y = (gl_Position.y * -1.0f);
-}
-
-main_out main_inner(float3 position_1_param, float2 uv_param, float3 normal_param) {
-  position_1 = position_1_param;
-  uv = uv_param;
-  normal = normal_param;
-  main_1();
-  main_out v_2 = {gl_Position, vUV};
-  return v_2;
-}
-
-main_outputs main(main_inputs inputs) {
-  main_out v_3 = main_inner(inputs.position_1_param, inputs.uv_param, inputs.normal_param);
-  main_outputs v_4 = {v_3.vUV_1, v_3.gl_Position};
-  return v_4;
-}
-
diff --git a/test/tint/bug/tint/1088.spvasm.expected.msl b/test/tint/bug/tint/1088.spvasm.expected.msl
deleted file mode 100644
index 76a4b48..0000000
--- a/test/tint/bug/tint/1088.spvasm.expected.msl
+++ /dev/null
@@ -1,87 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct strided_arr {
-  /* 0x0000 */ float el;
-  /* 0x0004 */ tint_array<int8_t, 12> tint_pad_1;
-};
-
-struct LeftOver {
-  /* 0x0000 */ float4x4 worldViewProjection;
-  /* 0x0040 */ float time;
-  /* 0x0044 */ tint_array<int8_t, 12> tint_pad;
-  /* 0x0050 */ tint_array<float4x4, 2> test2;
-  /* 0x00d0 */ tint_array<strided_arr, 4> test;
-};
-
-struct tint_module_vars_struct {
-  thread float3* position_1;
-  const constant LeftOver* x_14;
-  thread float2* vUV;
-  thread float2* uv;
-  thread float3* normal;
-  thread float4* gl_Position;
-};
-
-struct main_out {
-  float4 gl_Position;
-  float2 vUV_1;
-};
-
-struct main_outputs {
-  float4 main_out_gl_Position [[position]];
-  float2 main_out_vUV_1 [[user(locn0)]];
-};
-
-struct main_inputs {
-  float3 position_1_param [[attribute(0)]];
-  float2 uv_param [[attribute(2)]];
-  float3 normal_param [[attribute(1)]];
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  float4 q = 0.0f;
-  float3 p = 0.0f;
-  q = float4((*tint_module_vars.position_1).x, (*tint_module_vars.position_1).y, (*tint_module_vars.position_1).z, 1.0f);
-  p = q.xyz;
-  p.x = (p.x + sin((((*tint_module_vars.x_14).test[0u].el * (*tint_module_vars.position_1).y) + (*tint_module_vars.x_14).time)));
-  p.y = (p.y + sin(((*tint_module_vars.x_14).time + 4.0f)));
-  float4x4 const v = (*tint_module_vars.x_14).worldViewProjection;
-  (*tint_module_vars.gl_Position) = (v * float4(p.x, p.y, p.z, 1.0f));
-  (*tint_module_vars.vUV) = (*tint_module_vars.uv);
-  (*tint_module_vars.gl_Position).y = ((*tint_module_vars.gl_Position).y * -1.0f);
-}
-
-main_out main_inner(float3 position_1_param, float2 uv_param, float3 normal_param, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.position_1) = position_1_param;
-  (*tint_module_vars.uv) = uv_param;
-  (*tint_module_vars.normal) = normal_param;
-  main_1(tint_module_vars);
-  return main_out{.gl_Position=(*tint_module_vars.gl_Position), .vUV_1=(*tint_module_vars.vUV)};
-}
-
-vertex main_outputs v_1(main_inputs inputs [[stage_in]], const constant LeftOver* x_14 [[buffer(0)]]) {
-  thread float3 position_1 = 0.0f;
-  thread float2 vUV = 0.0f;
-  thread float2 uv = 0.0f;
-  thread float3 normal = 0.0f;
-  thread float4 gl_Position = 0.0f;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.position_1=(&position_1), .x_14=x_14, .vUV=(&vUV), .uv=(&uv), .normal=(&normal), .gl_Position=(&gl_Position)};
-  main_out const v_2 = main_inner(inputs.position_1_param, inputs.uv_param, inputs.normal_param, tint_module_vars);
-  main_outputs tint_wrapper_result = {};
-  tint_wrapper_result.main_out_gl_Position = v_2.gl_Position;
-  tint_wrapper_result.main_out_vUV_1 = v_2.vUV_1;
-  return tint_wrapper_result;
-}
diff --git a/test/tint/bug/tint/1088.spvasm.expected.spvasm b/test/tint/bug/tint/1088.spvasm.expected.spvasm
deleted file mode 100644
index 9d5997d..0000000
--- a/test/tint/bug/tint/1088.spvasm.expected.spvasm
+++ /dev/null
@@ -1,200 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 121
-; Schema: 0
-               OpCapability Shader
-         %73 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Vertex %main "main" %main_loc0_Input %main_loc2_Input %main_loc1_Input %main_position_Output %main_loc0_Output %main___point_size_Output
-               OpName %position_1 "position_1"
-               OpMemberName %LeftOver_tint_explicit_layout 0 "worldViewProjection"
-               OpMemberName %LeftOver_tint_explicit_layout 1 "time"
-               OpMemberName %LeftOver_tint_explicit_layout 2 "test2"
-               OpMemberName %strided_arr 0 "el"
-               OpName %strided_arr "strided_arr"
-               OpMemberName %LeftOver_tint_explicit_layout 3 "test"
-               OpName %LeftOver_tint_explicit_layout "LeftOver_tint_explicit_layout"
-               OpMemberName %x_14_block_tint_explicit_layout 0 "inner"
-               OpName %x_14_block_tint_explicit_layout "x_14_block_tint_explicit_layout"
-               OpName %vUV "vUV"
-               OpName %uv "uv"
-               OpName %normal "normal"
-               OpName %gl_Position "gl_Position"
-               OpName %main_loc0_Input "main_loc0_Input"
-               OpName %main_loc2_Input "main_loc2_Input"
-               OpName %main_loc1_Input "main_loc1_Input"
-               OpName %main_position_Output "main_position_Output"
-               OpName %main_loc0_Output "main_loc0_Output"
-               OpName %main___point_size_Output "main___point_size_Output"
-               OpName %main_1 "main_1"
-               OpName %q "q"
-               OpName %p "p"
-               OpName %main_inner "main_inner"
-               OpMemberName %main_out 0 "gl_Position"
-               OpMemberName %main_out 1 "vUV_1"
-               OpName %main_out "main_out"
-               OpName %position_1_param "position_1_param"
-               OpName %uv_param "uv_param"
-               OpName %normal_param "normal_param"
-               OpName %main "main"
-               OpMemberDecorate %LeftOver_tint_explicit_layout 0 Offset 0
-               OpMemberDecorate %LeftOver_tint_explicit_layout 0 ColMajor
-               OpMemberDecorate %LeftOver_tint_explicit_layout 0 MatrixStride 16
-               OpMemberDecorate %LeftOver_tint_explicit_layout 1 Offset 64
-               OpDecorate %_arr_mat4v4float_uint_2 ArrayStride 64
-               OpMemberDecorate %LeftOver_tint_explicit_layout 2 Offset 80
-               OpMemberDecorate %LeftOver_tint_explicit_layout 2 ColMajor
-               OpMemberDecorate %LeftOver_tint_explicit_layout 2 MatrixStride 16
-               OpMemberDecorate %strided_arr 0 Offset 0
-               OpDecorate %_arr_strided_arr_uint_4 ArrayStride 16
-               OpMemberDecorate %LeftOver_tint_explicit_layout 3 Offset 208
-               OpMemberDecorate %x_14_block_tint_explicit_layout 0 Offset 0
-               OpDecorate %x_14_block_tint_explicit_layout Block
-               OpDecorate %6 DescriptorSet 2
-               OpDecorate %6 Binding 2
-               OpDecorate %6 NonWritable
-               OpDecorate %main_loc0_Input Location 0
-               OpDecorate %main_loc2_Input Location 2
-               OpDecorate %main_loc1_Input Location 1
-               OpDecorate %main_position_Output BuiltIn Position
-               OpDecorate %main_loc0_Output Location 0
-               OpDecorate %main___point_size_Output BuiltIn PointSize
-      %float = OpTypeFloat 32
-    %v3float = OpTypeVector %float 3
-%_ptr_Private_v3float = OpTypePointer Private %v3float
-          %5 = OpConstantNull %v3float
- %position_1 = OpVariable %_ptr_Private_v3float Private %5
-    %v4float = OpTypeVector %float 4
-%mat4v4float = OpTypeMatrix %v4float 4
-       %uint = OpTypeInt 32 0
-     %uint_2 = OpConstant %uint 2
-%_arr_mat4v4float_uint_2 = OpTypeArray %mat4v4float %uint_2
-%strided_arr = OpTypeStruct %float
-     %uint_4 = OpConstant %uint 4
-%_arr_strided_arr_uint_4 = OpTypeArray %strided_arr %uint_4
-%LeftOver_tint_explicit_layout = OpTypeStruct %mat4v4float %float %_arr_mat4v4float_uint_2 %_arr_strided_arr_uint_4
-%x_14_block_tint_explicit_layout = OpTypeStruct %LeftOver_tint_explicit_layout
-%_ptr_Uniform_x_14_block_tint_explicit_layout = OpTypePointer Uniform %x_14_block_tint_explicit_layout
-          %6 = OpVariable %_ptr_Uniform_x_14_block_tint_explicit_layout Uniform
-    %v2float = OpTypeVector %float 2
-%_ptr_Private_v2float = OpTypePointer Private %v2float
-         %21 = OpConstantNull %v2float
-        %vUV = OpVariable %_ptr_Private_v2float Private %21
-         %uv = OpVariable %_ptr_Private_v2float Private %21
-     %normal = OpVariable %_ptr_Private_v3float Private %5
-%_ptr_Private_v4float = OpTypePointer Private %v4float
-         %26 = OpConstantNull %v4float
-%gl_Position = OpVariable %_ptr_Private_v4float Private %26
-%_ptr_Input_v3float = OpTypePointer Input %v3float
-%main_loc0_Input = OpVariable %_ptr_Input_v3float Input
-%_ptr_Input_v2float = OpTypePointer Input %v2float
-%main_loc2_Input = OpVariable %_ptr_Input_v2float Input
-%main_loc1_Input = OpVariable %_ptr_Input_v3float Input
-%_ptr_Output_v4float = OpTypePointer Output %v4float
-%main_position_Output = OpVariable %_ptr_Output_v4float Output
-%_ptr_Output_v2float = OpTypePointer Output %v2float
-%main_loc0_Output = OpVariable %_ptr_Output_v2float Output
-%_ptr_Output_float = OpTypePointer Output %float
-%main___point_size_Output = OpVariable %_ptr_Output_float Output
-       %void = OpTypeVoid
-         %40 = OpTypeFunction %void
-%_ptr_Function_v4float = OpTypePointer Function %v4float
-%_ptr_Function_v3float = OpTypePointer Function %v3float
-%_ptr_Private_float = OpTypePointer Private %float
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-    %float_1 = OpConstant %float 1
-%_ptr_Function_float = OpTypePointer Function %float
-%_ptr_Uniform_float = OpTypePointer Uniform %float
-     %uint_3 = OpConstant %uint 3
-    %float_4 = OpConstant %float 4
-%_ptr_Uniform_mat4v4float = OpTypePointer Uniform %mat4v4float
-   %float_n1 = OpConstant %float -1
-   %main_out = OpTypeStruct %v4float %v2float
-        %107 = OpTypeFunction %main_out %v3float %v2float %v3float
-     %main_1 = OpFunction %void None %40
-         %41 = OpLabel
-          %q = OpVariable %_ptr_Function_v4float Function %26
-          %p = OpVariable %_ptr_Function_v3float Function %5
-         %46 = OpAccessChain %_ptr_Private_float %position_1 %uint_0
-         %49 = OpLoad %float %46 None
-         %50 = OpAccessChain %_ptr_Private_float %position_1 %uint_1
-         %52 = OpLoad %float %50 None
-         %53 = OpAccessChain %_ptr_Private_float %position_1 %uint_2
-         %54 = OpLoad %float %53 None
-         %55 = OpCompositeConstruct %v4float %49 %52 %54 %float_1
-               OpStore %q %55 None
-         %57 = OpLoad %v4float %q None
-         %58 = OpVectorShuffle %v3float %57 %57 0 1 2
-               OpStore %p %58 None
-         %59 = OpAccessChain %_ptr_Function_float %p %uint_0
-         %61 = OpLoad %float %59 None
-         %62 = OpAccessChain %_ptr_Uniform_float %6 %uint_0 %uint_3 %uint_0 %uint_0
-         %65 = OpLoad %float %62 None
-         %66 = OpAccessChain %_ptr_Private_float %position_1 %uint_1
-         %67 = OpLoad %float %66 None
-         %68 = OpFMul %float %65 %67
-         %69 = OpAccessChain %_ptr_Uniform_float %6 %uint_0 %uint_1
-         %70 = OpLoad %float %69 None
-         %71 = OpFAdd %float %68 %70
-         %72 = OpExtInst %float %73 Sin %71
-         %74 = OpFAdd %float %61 %72
-         %75 = OpAccessChain %_ptr_Function_float %p %uint_0
-               OpStore %75 %74 None
-         %76 = OpAccessChain %_ptr_Function_float %p %uint_1
-         %77 = OpLoad %float %76 None
-         %78 = OpAccessChain %_ptr_Uniform_float %6 %uint_0 %uint_1
-         %79 = OpLoad %float %78 None
-         %80 = OpFAdd %float %79 %float_4
-         %82 = OpExtInst %float %73 Sin %80
-         %83 = OpFAdd %float %77 %82
-         %84 = OpAccessChain %_ptr_Function_float %p %uint_1
-               OpStore %84 %83 None
-         %85 = OpAccessChain %_ptr_Uniform_mat4v4float %6 %uint_0 %uint_0
-         %87 = OpLoad %mat4v4float %85 None
-         %88 = OpAccessChain %_ptr_Function_float %p %uint_0
-         %89 = OpLoad %float %88 None
-         %90 = OpAccessChain %_ptr_Function_float %p %uint_1
-         %91 = OpLoad %float %90 None
-         %92 = OpAccessChain %_ptr_Function_float %p %uint_2
-         %93 = OpLoad %float %92 None
-         %94 = OpCompositeConstruct %v4float %89 %91 %93 %float_1
-         %95 = OpMatrixTimesVector %v4float %87 %94
-               OpStore %gl_Position %95 None
-         %96 = OpLoad %v2float %uv None
-               OpStore %vUV %96 None
-         %97 = OpAccessChain %_ptr_Private_float %gl_Position %uint_1
-         %98 = OpLoad %float %97 None
-         %99 = OpFMul %float %98 %float_n1
-        %101 = OpAccessChain %_ptr_Private_float %gl_Position %uint_1
-               OpStore %101 %99 None
-               OpReturn
-               OpFunctionEnd
- %main_inner = OpFunction %main_out None %107
-%position_1_param = OpFunctionParameter %v3float
-   %uv_param = OpFunctionParameter %v2float
-%normal_param = OpFunctionParameter %v3float
-        %108 = OpLabel
-               OpStore %position_1 %position_1_param None
-               OpStore %uv %uv_param None
-               OpStore %normal %normal_param None
-        %109 = OpFunctionCall %void %main_1
-        %110 = OpLoad %v4float %gl_Position None
-        %111 = OpLoad %v2float %vUV None
-        %112 = OpCompositeConstruct %main_out %110 %111
-               OpReturnValue %112
-               OpFunctionEnd
-       %main = OpFunction %void None %40
-        %114 = OpLabel
-        %115 = OpLoad %v3float %main_loc0_Input None
-        %116 = OpLoad %v2float %main_loc2_Input None
-        %117 = OpLoad %v3float %main_loc1_Input None
-        %118 = OpFunctionCall %main_out %main_inner %115 %116 %117
-        %119 = OpCompositeExtract %v4float %118 0
-               OpStore %main_position_Output %119 None
-        %120 = OpCompositeExtract %v2float %118 1
-               OpStore %main_loc0_Output %120 None
-               OpStore %main___point_size_Output %float_1 None
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/1520.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/1520.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 1000f34..0000000
--- a/test/tint/bug/tint/1520.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,163 +0,0 @@
-int tint_ftoi(float v) {
-  return ((v <= 2147483520.0f) ? ((v < -2147483648.0f) ? -2147483648 : int(v)) : 2147483647);
-}
-
-cbuffer cbuffer_x_4 : register(b0) {
-  uint4 x_4[7];
-};
-static float4 sk_FragColor = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static bool sk_Clockwise = false;
-static float4 vcolor_S0 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-int4 tint_div(int4 lhs, int4 rhs) {
-  return (lhs / (((rhs == (0).xxxx) | ((lhs == (-2147483648).xxxx) & (rhs == (-1).xxxx))) ? (1).xxxx : rhs));
-}
-
-bool test_int_S1_c0_b() {
-  int unknown = 0;
-  bool ok = false;
-  int4 val = int4(0, 0, 0, 0);
-  bool x_40 = false;
-  bool x_41 = false;
-  bool x_54 = false;
-  bool x_55 = false;
-  bool x_65 = false;
-  bool x_66 = false;
-  int x_27 = tint_ftoi(asfloat(x_4[1].x));
-  unknown = x_27;
-  ok = true;
-  x_41 = false;
-  if (true) {
-    x_40 = all((tint_div((0).xxxx, int4((x_27).xxxx)) == (0).xxxx));
-    x_41 = x_40;
-  }
-  ok = x_41;
-  int4 x_44 = int4((x_27).xxxx);
-  val = x_44;
-  int4 x_47 = (x_44 + (1).xxxx);
-  val = x_47;
-  int4 x_48 = (x_47 - (1).xxxx);
-  val = x_48;
-  int4 x_49 = (x_48 + (1).xxxx);
-  val = x_49;
-  int4 x_50 = (x_49 - (1).xxxx);
-  val = x_50;
-  x_55 = false;
-  if (x_41) {
-    x_54 = all((x_50 == x_44));
-    x_55 = x_54;
-  }
-  ok = x_55;
-  int4 x_58 = (x_50 * (2).xxxx);
-  val = x_58;
-  int4 x_59 = tint_div(x_58, (2).xxxx);
-  val = x_59;
-  int4 x_60 = (x_59 * (2).xxxx);
-  val = x_60;
-  int4 x_61 = tint_div(x_60, (2).xxxx);
-  val = x_61;
-  x_66 = false;
-  if (x_55) {
-    x_65 = all((x_61 == x_44));
-    x_66 = x_65;
-  }
-  ok = x_66;
-  return x_66;
-}
-
-void main_1() {
-  float4 outputColor_S0 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float4 output_S1 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float x_8_unknown = 0.0f;
-  bool x_9_ok = false;
-  float4 x_10_val = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float4 x_116 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  bool x_86 = false;
-  bool x_87 = false;
-  bool x_99 = false;
-  bool x_100 = false;
-  bool x_110 = false;
-  bool x_111 = false;
-  bool x_114 = false;
-  bool x_115 = false;
-  outputColor_S0 = vcolor_S0;
-  float x_77 = asfloat(x_4[1].x);
-  x_8_unknown = x_77;
-  x_9_ok = true;
-  x_87 = false;
-  if (true) {
-    x_86 = all((((0.0f).xxxx / float4((x_77).xxxx)) == (0.0f).xxxx));
-    x_87 = x_86;
-  }
-  x_9_ok = x_87;
-  float4 x_89 = float4((x_77).xxxx);
-  x_10_val = x_89;
-  float4 x_92 = (x_89 + (1.0f).xxxx);
-  x_10_val = x_92;
-  float4 x_93 = (x_92 - (1.0f).xxxx);
-  x_10_val = x_93;
-  float4 x_94 = (x_93 + (1.0f).xxxx);
-  x_10_val = x_94;
-  float4 x_95 = (x_94 - (1.0f).xxxx);
-  x_10_val = x_95;
-  x_100 = false;
-  if (x_87) {
-    x_99 = all((x_95 == x_89));
-    x_100 = x_99;
-  }
-  x_9_ok = x_100;
-  float4 x_103 = (x_95 * (2.0f).xxxx);
-  x_10_val = x_103;
-  float4 x_104 = (x_103 / (2.0f).xxxx);
-  x_10_val = x_104;
-  float4 x_105 = (x_104 * (2.0f).xxxx);
-  x_10_val = x_105;
-  float4 x_106 = (x_105 / (2.0f).xxxx);
-  x_10_val = x_106;
-  x_111 = false;
-  if (x_100) {
-    x_110 = all((x_106 == x_89));
-    x_111 = x_110;
-  }
-  x_9_ok = x_111;
-  x_115 = false;
-  if (x_111) {
-    x_114 = test_int_S1_c0_b();
-    x_115 = x_114;
-  }
-  if (x_115) {
-    x_116 = asfloat(x_4[3]);
-  } else {
-    x_116 = asfloat(x_4[2]);
-  }
-  float4 x_125 = x_116;
-  output_S1 = x_116;
-  sk_FragColor = x_125;
-  return;
-}
-
-struct main_out {
-  float4 sk_FragColor_1;
-};
-struct tint_symbol_1 {
-  float4 vcolor_S0_param : TEXCOORD0;
-  bool sk_Clockwise_param : SV_IsFrontFace;
-};
-struct tint_symbol_2 {
-  float4 sk_FragColor_1 : SV_Target0;
-};
-
-main_out main_inner(bool sk_Clockwise_param, float4 vcolor_S0_param) {
-  sk_Clockwise = sk_Clockwise_param;
-  vcolor_S0 = vcolor_S0_param;
-  main_1();
-  main_out tint_symbol_3 = {sk_FragColor};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(tint_symbol.sk_Clockwise_param, tint_symbol.vcolor_S0_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.sk_FragColor_1 = inner_result.sk_FragColor_1;
-  return wrapper_result;
-}
diff --git a/test/tint/bug/tint/1520.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/1520.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 1000f34..0000000
--- a/test/tint/bug/tint/1520.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,163 +0,0 @@
-int tint_ftoi(float v) {
-  return ((v <= 2147483520.0f) ? ((v < -2147483648.0f) ? -2147483648 : int(v)) : 2147483647);
-}
-
-cbuffer cbuffer_x_4 : register(b0) {
-  uint4 x_4[7];
-};
-static float4 sk_FragColor = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static bool sk_Clockwise = false;
-static float4 vcolor_S0 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-int4 tint_div(int4 lhs, int4 rhs) {
-  return (lhs / (((rhs == (0).xxxx) | ((lhs == (-2147483648).xxxx) & (rhs == (-1).xxxx))) ? (1).xxxx : rhs));
-}
-
-bool test_int_S1_c0_b() {
-  int unknown = 0;
-  bool ok = false;
-  int4 val = int4(0, 0, 0, 0);
-  bool x_40 = false;
-  bool x_41 = false;
-  bool x_54 = false;
-  bool x_55 = false;
-  bool x_65 = false;
-  bool x_66 = false;
-  int x_27 = tint_ftoi(asfloat(x_4[1].x));
-  unknown = x_27;
-  ok = true;
-  x_41 = false;
-  if (true) {
-    x_40 = all((tint_div((0).xxxx, int4((x_27).xxxx)) == (0).xxxx));
-    x_41 = x_40;
-  }
-  ok = x_41;
-  int4 x_44 = int4((x_27).xxxx);
-  val = x_44;
-  int4 x_47 = (x_44 + (1).xxxx);
-  val = x_47;
-  int4 x_48 = (x_47 - (1).xxxx);
-  val = x_48;
-  int4 x_49 = (x_48 + (1).xxxx);
-  val = x_49;
-  int4 x_50 = (x_49 - (1).xxxx);
-  val = x_50;
-  x_55 = false;
-  if (x_41) {
-    x_54 = all((x_50 == x_44));
-    x_55 = x_54;
-  }
-  ok = x_55;
-  int4 x_58 = (x_50 * (2).xxxx);
-  val = x_58;
-  int4 x_59 = tint_div(x_58, (2).xxxx);
-  val = x_59;
-  int4 x_60 = (x_59 * (2).xxxx);
-  val = x_60;
-  int4 x_61 = tint_div(x_60, (2).xxxx);
-  val = x_61;
-  x_66 = false;
-  if (x_55) {
-    x_65 = all((x_61 == x_44));
-    x_66 = x_65;
-  }
-  ok = x_66;
-  return x_66;
-}
-
-void main_1() {
-  float4 outputColor_S0 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float4 output_S1 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float x_8_unknown = 0.0f;
-  bool x_9_ok = false;
-  float4 x_10_val = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  float4 x_116 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  bool x_86 = false;
-  bool x_87 = false;
-  bool x_99 = false;
-  bool x_100 = false;
-  bool x_110 = false;
-  bool x_111 = false;
-  bool x_114 = false;
-  bool x_115 = false;
-  outputColor_S0 = vcolor_S0;
-  float x_77 = asfloat(x_4[1].x);
-  x_8_unknown = x_77;
-  x_9_ok = true;
-  x_87 = false;
-  if (true) {
-    x_86 = all((((0.0f).xxxx / float4((x_77).xxxx)) == (0.0f).xxxx));
-    x_87 = x_86;
-  }
-  x_9_ok = x_87;
-  float4 x_89 = float4((x_77).xxxx);
-  x_10_val = x_89;
-  float4 x_92 = (x_89 + (1.0f).xxxx);
-  x_10_val = x_92;
-  float4 x_93 = (x_92 - (1.0f).xxxx);
-  x_10_val = x_93;
-  float4 x_94 = (x_93 + (1.0f).xxxx);
-  x_10_val = x_94;
-  float4 x_95 = (x_94 - (1.0f).xxxx);
-  x_10_val = x_95;
-  x_100 = false;
-  if (x_87) {
-    x_99 = all((x_95 == x_89));
-    x_100 = x_99;
-  }
-  x_9_ok = x_100;
-  float4 x_103 = (x_95 * (2.0f).xxxx);
-  x_10_val = x_103;
-  float4 x_104 = (x_103 / (2.0f).xxxx);
-  x_10_val = x_104;
-  float4 x_105 = (x_104 * (2.0f).xxxx);
-  x_10_val = x_105;
-  float4 x_106 = (x_105 / (2.0f).xxxx);
-  x_10_val = x_106;
-  x_111 = false;
-  if (x_100) {
-    x_110 = all((x_106 == x_89));
-    x_111 = x_110;
-  }
-  x_9_ok = x_111;
-  x_115 = false;
-  if (x_111) {
-    x_114 = test_int_S1_c0_b();
-    x_115 = x_114;
-  }
-  if (x_115) {
-    x_116 = asfloat(x_4[3]);
-  } else {
-    x_116 = asfloat(x_4[2]);
-  }
-  float4 x_125 = x_116;
-  output_S1 = x_116;
-  sk_FragColor = x_125;
-  return;
-}
-
-struct main_out {
-  float4 sk_FragColor_1;
-};
-struct tint_symbol_1 {
-  float4 vcolor_S0_param : TEXCOORD0;
-  bool sk_Clockwise_param : SV_IsFrontFace;
-};
-struct tint_symbol_2 {
-  float4 sk_FragColor_1 : SV_Target0;
-};
-
-main_out main_inner(bool sk_Clockwise_param, float4 vcolor_S0_param) {
-  sk_Clockwise = sk_Clockwise_param;
-  vcolor_S0 = vcolor_S0_param;
-  main_1();
-  main_out tint_symbol_3 = {sk_FragColor};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(tint_symbol.sk_Clockwise_param, tint_symbol.vcolor_S0_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.sk_FragColor_1 = inner_result.sk_FragColor_1;
-  return wrapper_result;
-}
diff --git a/test/tint/bug/tint/1520.spvasm.expected.glsl b/test/tint/bug/tint/1520.spvasm.expected.glsl
deleted file mode 100644
index 917a7a8..0000000
--- a/test/tint/bug/tint/1520.spvasm.expected.glsl
+++ /dev/null
@@ -1,175 +0,0 @@
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct UniformBuffer_std140 {
-  uint tint_pad_0;
-  uint tint_pad_1;
-  uint tint_pad_2;
-  uint tint_pad_3;
-  float unknownInput_S1_c0;
-  uint tint_pad_4;
-  uint tint_pad_5;
-  uint tint_pad_6;
-  vec4 ucolorRed_S1_c0;
-  vec4 ucolorGreen_S1_c0;
-  vec3 umatrix_S1_col0;
-  uint tint_pad_7;
-  vec3 umatrix_S1_col1;
-  uint tint_pad_8;
-  vec3 umatrix_S1_col2;
-  uint tint_pad_9;
-};
-
-struct main_out {
-  vec4 sk_FragColor_1;
-};
-
-layout(binding = 0, std140)
-uniform f_x_4_block_std140_ubo {
-  UniformBuffer_std140 inner;
-} v;
-vec4 sk_FragColor = vec4(0.0f);
-bool sk_Clockwise = false;
-vec4 vcolor_S0 = vec4(0.0f);
-layout(location = 0) in vec4 tint_interstage_location0;
-layout(location = 0) out vec4 main_loc0_Output;
-ivec4 tint_div_v4i32(ivec4 lhs, ivec4 rhs) {
-  uvec4 v_1 = uvec4(equal(lhs, ivec4((-2147483647 - 1))));
-  bvec4 v_2 = bvec4((v_1 & uvec4(equal(rhs, ivec4(-1)))));
-  uvec4 v_3 = uvec4(equal(rhs, ivec4(0)));
-  return (lhs / mix(rhs, ivec4(1), bvec4((v_3 | uvec4(v_2)))));
-}
-int tint_f32_to_i32(float value) {
-  return mix(2147483647, mix((-2147483647 - 1), int(value), (value >= -2147483648.0f)), (value <= 2147483520.0f));
-}
-bool test_int_S1_c0_b() {
-  int unknown = 0;
-  bool ok = false;
-  ivec4 val = ivec4(0);
-  bool x_40 = false;
-  bool x_41 = false;
-  bool x_54 = false;
-  bool x_55 = false;
-  bool x_65 = false;
-  bool x_66 = false;
-  int x_27 = tint_f32_to_i32(v.inner.unknownInput_S1_c0);
-  unknown = x_27;
-  ok = true;
-  x_41 = false;
-  if (true) {
-    x_40 = all(equal(tint_div_v4i32(ivec4(0), ivec4(x_27)), ivec4(0)));
-    x_41 = x_40;
-  }
-  ok = x_41;
-  ivec4 x_44 = ivec4(x_27);
-  val = x_44;
-  ivec4 x_47 = (x_44 + ivec4(1));
-  val = x_47;
-  ivec4 x_48 = (x_47 - ivec4(1));
-  val = x_48;
-  ivec4 x_49 = (x_48 + ivec4(1));
-  val = x_49;
-  ivec4 x_50 = (x_49 - ivec4(1));
-  val = x_50;
-  x_55 = false;
-  if (x_41) {
-    x_54 = all(equal(x_50, x_44));
-    x_55 = x_54;
-  }
-  ok = x_55;
-  ivec4 x_58 = (x_50 * ivec4(2));
-  val = x_58;
-  ivec4 x_59 = tint_div_v4i32(x_58, ivec4(2));
-  val = x_59;
-  ivec4 x_60 = (x_59 * ivec4(2));
-  val = x_60;
-  ivec4 x_61 = tint_div_v4i32(x_60, ivec4(2));
-  val = x_61;
-  x_66 = false;
-  if (x_55) {
-    x_65 = all(equal(x_61, x_44));
-    x_66 = x_65;
-  }
-  ok = x_66;
-  return x_66;
-}
-void main_1() {
-  vec4 outputColor_S0 = vec4(0.0f);
-  vec4 output_S1 = vec4(0.0f);
-  float x_8_unknown = 0.0f;
-  bool x_9_ok = false;
-  vec4 x_10_val = vec4(0.0f);
-  vec4 x_116 = vec4(0.0f);
-  bool x_86 = false;
-  bool x_87 = false;
-  bool x_99 = false;
-  bool x_100 = false;
-  bool x_110 = false;
-  bool x_111 = false;
-  bool x_114 = false;
-  bool x_115 = false;
-  outputColor_S0 = vcolor_S0;
-  float x_77 = v.inner.unknownInput_S1_c0;
-  x_8_unknown = x_77;
-  x_9_ok = true;
-  x_87 = false;
-  if (true) {
-    x_86 = all(equal((vec4(0.0f) / vec4(x_77)), vec4(0.0f)));
-    x_87 = x_86;
-  }
-  x_9_ok = x_87;
-  vec4 x_89 = vec4(x_77);
-  x_10_val = x_89;
-  vec4 x_92 = (x_89 + vec4(1.0f));
-  x_10_val = x_92;
-  vec4 x_93 = (x_92 - vec4(1.0f));
-  x_10_val = x_93;
-  vec4 x_94 = (x_93 + vec4(1.0f));
-  x_10_val = x_94;
-  vec4 x_95 = (x_94 - vec4(1.0f));
-  x_10_val = x_95;
-  x_100 = false;
-  if (x_87) {
-    x_99 = all(equal(x_95, x_89));
-    x_100 = x_99;
-  }
-  x_9_ok = x_100;
-  vec4 x_103 = (x_95 * vec4(2.0f));
-  x_10_val = x_103;
-  vec4 x_104 = (x_103 / vec4(2.0f));
-  x_10_val = x_104;
-  vec4 x_105 = (x_104 * vec4(2.0f));
-  x_10_val = x_105;
-  vec4 x_106 = (x_105 / vec4(2.0f));
-  x_10_val = x_106;
-  x_111 = false;
-  if (x_100) {
-    x_110 = all(equal(x_106, x_89));
-    x_111 = x_110;
-  }
-  x_9_ok = x_111;
-  x_115 = false;
-  if (x_111) {
-    x_114 = test_int_S1_c0_b();
-    x_115 = x_114;
-  }
-  if (x_115) {
-    x_116 = v.inner.ucolorGreen_S1_c0;
-  } else {
-    x_116 = v.inner.ucolorRed_S1_c0;
-  }
-  vec4 x_125 = x_116;
-  output_S1 = x_116;
-  sk_FragColor = x_125;
-}
-main_out main_inner(bool sk_Clockwise_param, vec4 vcolor_S0_param) {
-  sk_Clockwise = sk_Clockwise_param;
-  vcolor_S0 = vcolor_S0_param;
-  main_1();
-  return main_out(sk_FragColor);
-}
-void main() {
-  main_loc0_Output = main_inner(gl_FrontFacing, tint_interstage_location0).sk_FragColor_1;
-}
diff --git a/test/tint/bug/tint/1520.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/1520.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d7e1e0f..0000000
--- a/test/tint/bug/tint/1520.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,164 +0,0 @@
-struct main_out {
-  float4 sk_FragColor_1;
-};
-
-struct main_outputs {
-  float4 main_out_sk_FragColor_1 : SV_Target0;
-};
-
-struct main_inputs {
-  float4 vcolor_S0_param : TEXCOORD0;
-  bool sk_Clockwise_param : SV_IsFrontFace;
-};
-
-
-cbuffer cbuffer_x_4 : register(b0) {
-  uint4 x_4[7];
-};
-static float4 sk_FragColor = (0.0f).xxxx;
-static bool sk_Clockwise = false;
-static float4 vcolor_S0 = (0.0f).xxxx;
-int4 tint_div_v4i32(int4 lhs, int4 rhs) {
-  return (lhs / ((((rhs == (int(0)).xxxx) | ((lhs == (int(-2147483648)).xxxx) & (rhs == (int(-1)).xxxx)))) ? ((int(1)).xxxx) : (rhs)));
-}
-
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
-}
-
-bool test_int_S1_c0_b() {
-  int unknown = int(0);
-  bool ok = false;
-  int4 val = (int(0)).xxxx;
-  bool x_40 = false;
-  bool x_41 = false;
-  bool x_54 = false;
-  bool x_55 = false;
-  bool x_65 = false;
-  bool x_66 = false;
-  int x_27 = tint_f32_to_i32(asfloat(x_4[1u].x));
-  unknown = x_27;
-  ok = true;
-  x_41 = false;
-  if (true) {
-    x_40 = all((tint_div_v4i32((int(0)).xxxx, int4((x_27).xxxx)) == (int(0)).xxxx));
-    x_41 = x_40;
-  }
-  ok = x_41;
-  int4 x_44 = int4((x_27).xxxx);
-  val = x_44;
-  int4 x_47 = (x_44 + (int(1)).xxxx);
-  val = x_47;
-  int4 x_48 = (x_47 - (int(1)).xxxx);
-  val = x_48;
-  int4 x_49 = (x_48 + (int(1)).xxxx);
-  val = x_49;
-  int4 x_50 = (x_49 - (int(1)).xxxx);
-  val = x_50;
-  x_55 = false;
-  if (x_41) {
-    x_54 = all((x_50 == x_44));
-    x_55 = x_54;
-  }
-  ok = x_55;
-  int4 x_58 = (x_50 * (int(2)).xxxx);
-  val = x_58;
-  int4 x_59 = tint_div_v4i32(x_58, (int(2)).xxxx);
-  val = x_59;
-  int4 x_60 = (x_59 * (int(2)).xxxx);
-  val = x_60;
-  int4 x_61 = tint_div_v4i32(x_60, (int(2)).xxxx);
-  val = x_61;
-  x_66 = false;
-  if (x_55) {
-    x_65 = all((x_61 == x_44));
-    x_66 = x_65;
-  }
-  ok = x_66;
-  return x_66;
-}
-
-void main_1() {
-  float4 outputColor_S0 = (0.0f).xxxx;
-  float4 output_S1 = (0.0f).xxxx;
-  float x_8_unknown = 0.0f;
-  bool x_9_ok = false;
-  float4 x_10_val = (0.0f).xxxx;
-  float4 x_116 = (0.0f).xxxx;
-  bool x_86 = false;
-  bool x_87 = false;
-  bool x_99 = false;
-  bool x_100 = false;
-  bool x_110 = false;
-  bool x_111 = false;
-  bool x_114 = false;
-  bool x_115 = false;
-  outputColor_S0 = vcolor_S0;
-  float x_77 = asfloat(x_4[1u].x);
-  x_8_unknown = x_77;
-  x_9_ok = true;
-  x_87 = false;
-  if (true) {
-    x_86 = all((((0.0f).xxxx / float4((x_77).xxxx)) == (0.0f).xxxx));
-    x_87 = x_86;
-  }
-  x_9_ok = x_87;
-  float4 x_89 = float4((x_77).xxxx);
-  x_10_val = x_89;
-  float4 x_92 = (x_89 + (1.0f).xxxx);
-  x_10_val = x_92;
-  float4 x_93 = (x_92 - (1.0f).xxxx);
-  x_10_val = x_93;
-  float4 x_94 = (x_93 + (1.0f).xxxx);
-  x_10_val = x_94;
-  float4 x_95 = (x_94 - (1.0f).xxxx);
-  x_10_val = x_95;
-  x_100 = false;
-  if (x_87) {
-    x_99 = all((x_95 == x_89));
-    x_100 = x_99;
-  }
-  x_9_ok = x_100;
-  float4 x_103 = (x_95 * (2.0f).xxxx);
-  x_10_val = x_103;
-  float4 x_104 = (x_103 / (2.0f).xxxx);
-  x_10_val = x_104;
-  float4 x_105 = (x_104 * (2.0f).xxxx);
-  x_10_val = x_105;
-  float4 x_106 = (x_105 / (2.0f).xxxx);
-  x_10_val = x_106;
-  x_111 = false;
-  if (x_100) {
-    x_110 = all((x_106 == x_89));
-    x_111 = x_110;
-  }
-  x_9_ok = x_111;
-  x_115 = false;
-  if (x_111) {
-    x_114 = test_int_S1_c0_b();
-    x_115 = x_114;
-  }
-  if (x_115) {
-    x_116 = asfloat(x_4[3u]);
-  } else {
-    x_116 = asfloat(x_4[2u]);
-  }
-  float4 x_125 = x_116;
-  output_S1 = x_116;
-  sk_FragColor = x_125;
-}
-
-main_out main_inner(bool sk_Clockwise_param, float4 vcolor_S0_param) {
-  sk_Clockwise = sk_Clockwise_param;
-  vcolor_S0 = vcolor_S0_param;
-  main_1();
-  main_out v = {sk_FragColor};
-  return v;
-}
-
-main_outputs main(main_inputs inputs) {
-  main_out v_1 = main_inner(inputs.sk_Clockwise_param, inputs.vcolor_S0_param);
-  main_outputs v_2 = {v_1.sk_FragColor_1};
-  return v_2;
-}
-
diff --git a/test/tint/bug/tint/1520.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/1520.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d7e1e0f..0000000
--- a/test/tint/bug/tint/1520.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,164 +0,0 @@
-struct main_out {
-  float4 sk_FragColor_1;
-};
-
-struct main_outputs {
-  float4 main_out_sk_FragColor_1 : SV_Target0;
-};
-
-struct main_inputs {
-  float4 vcolor_S0_param : TEXCOORD0;
-  bool sk_Clockwise_param : SV_IsFrontFace;
-};
-
-
-cbuffer cbuffer_x_4 : register(b0) {
-  uint4 x_4[7];
-};
-static float4 sk_FragColor = (0.0f).xxxx;
-static bool sk_Clockwise = false;
-static float4 vcolor_S0 = (0.0f).xxxx;
-int4 tint_div_v4i32(int4 lhs, int4 rhs) {
-  return (lhs / ((((rhs == (int(0)).xxxx) | ((lhs == (int(-2147483648)).xxxx) & (rhs == (int(-1)).xxxx)))) ? ((int(1)).xxxx) : (rhs)));
-}
-
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
-}
-
-bool test_int_S1_c0_b() {
-  int unknown = int(0);
-  bool ok = false;
-  int4 val = (int(0)).xxxx;
-  bool x_40 = false;
-  bool x_41 = false;
-  bool x_54 = false;
-  bool x_55 = false;
-  bool x_65 = false;
-  bool x_66 = false;
-  int x_27 = tint_f32_to_i32(asfloat(x_4[1u].x));
-  unknown = x_27;
-  ok = true;
-  x_41 = false;
-  if (true) {
-    x_40 = all((tint_div_v4i32((int(0)).xxxx, int4((x_27).xxxx)) == (int(0)).xxxx));
-    x_41 = x_40;
-  }
-  ok = x_41;
-  int4 x_44 = int4((x_27).xxxx);
-  val = x_44;
-  int4 x_47 = (x_44 + (int(1)).xxxx);
-  val = x_47;
-  int4 x_48 = (x_47 - (int(1)).xxxx);
-  val = x_48;
-  int4 x_49 = (x_48 + (int(1)).xxxx);
-  val = x_49;
-  int4 x_50 = (x_49 - (int(1)).xxxx);
-  val = x_50;
-  x_55 = false;
-  if (x_41) {
-    x_54 = all((x_50 == x_44));
-    x_55 = x_54;
-  }
-  ok = x_55;
-  int4 x_58 = (x_50 * (int(2)).xxxx);
-  val = x_58;
-  int4 x_59 = tint_div_v4i32(x_58, (int(2)).xxxx);
-  val = x_59;
-  int4 x_60 = (x_59 * (int(2)).xxxx);
-  val = x_60;
-  int4 x_61 = tint_div_v4i32(x_60, (int(2)).xxxx);
-  val = x_61;
-  x_66 = false;
-  if (x_55) {
-    x_65 = all((x_61 == x_44));
-    x_66 = x_65;
-  }
-  ok = x_66;
-  return x_66;
-}
-
-void main_1() {
-  float4 outputColor_S0 = (0.0f).xxxx;
-  float4 output_S1 = (0.0f).xxxx;
-  float x_8_unknown = 0.0f;
-  bool x_9_ok = false;
-  float4 x_10_val = (0.0f).xxxx;
-  float4 x_116 = (0.0f).xxxx;
-  bool x_86 = false;
-  bool x_87 = false;
-  bool x_99 = false;
-  bool x_100 = false;
-  bool x_110 = false;
-  bool x_111 = false;
-  bool x_114 = false;
-  bool x_115 = false;
-  outputColor_S0 = vcolor_S0;
-  float x_77 = asfloat(x_4[1u].x);
-  x_8_unknown = x_77;
-  x_9_ok = true;
-  x_87 = false;
-  if (true) {
-    x_86 = all((((0.0f).xxxx / float4((x_77).xxxx)) == (0.0f).xxxx));
-    x_87 = x_86;
-  }
-  x_9_ok = x_87;
-  float4 x_89 = float4((x_77).xxxx);
-  x_10_val = x_89;
-  float4 x_92 = (x_89 + (1.0f).xxxx);
-  x_10_val = x_92;
-  float4 x_93 = (x_92 - (1.0f).xxxx);
-  x_10_val = x_93;
-  float4 x_94 = (x_93 + (1.0f).xxxx);
-  x_10_val = x_94;
-  float4 x_95 = (x_94 - (1.0f).xxxx);
-  x_10_val = x_95;
-  x_100 = false;
-  if (x_87) {
-    x_99 = all((x_95 == x_89));
-    x_100 = x_99;
-  }
-  x_9_ok = x_100;
-  float4 x_103 = (x_95 * (2.0f).xxxx);
-  x_10_val = x_103;
-  float4 x_104 = (x_103 / (2.0f).xxxx);
-  x_10_val = x_104;
-  float4 x_105 = (x_104 * (2.0f).xxxx);
-  x_10_val = x_105;
-  float4 x_106 = (x_105 / (2.0f).xxxx);
-  x_10_val = x_106;
-  x_111 = false;
-  if (x_100) {
-    x_110 = all((x_106 == x_89));
-    x_111 = x_110;
-  }
-  x_9_ok = x_111;
-  x_115 = false;
-  if (x_111) {
-    x_114 = test_int_S1_c0_b();
-    x_115 = x_114;
-  }
-  if (x_115) {
-    x_116 = asfloat(x_4[3u]);
-  } else {
-    x_116 = asfloat(x_4[2u]);
-  }
-  float4 x_125 = x_116;
-  output_S1 = x_116;
-  sk_FragColor = x_125;
-}
-
-main_out main_inner(bool sk_Clockwise_param, float4 vcolor_S0_param) {
-  sk_Clockwise = sk_Clockwise_param;
-  vcolor_S0 = vcolor_S0_param;
-  main_1();
-  main_out v = {sk_FragColor};
-  return v;
-}
-
-main_outputs main(main_inputs inputs) {
-  main_out v_1 = main_inner(inputs.sk_Clockwise_param, inputs.vcolor_S0_param);
-  main_outputs v_2 = {v_1.sk_FragColor_1};
-  return v_2;
-}
-
diff --git a/test/tint/bug/tint/1520.spvasm.expected.msl b/test/tint/bug/tint/1520.spvasm.expected.msl
deleted file mode 100644
index 7b87863..0000000
--- a/test/tint/bug/tint/1520.spvasm.expected.msl
+++ /dev/null
@@ -1,197 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct tint_packed_vec3_f32_array_element {
-  /* 0x0000 */ packed_float3 packed;
-  /* 0x000c */ tint_array<int8_t, 4> tint_pad_2;
-};
-
-struct UniformBuffer_packed_vec3 {
-  /* 0x0000 */ tint_array<int8_t, 16> tint_pad;
-  /* 0x0010 */ float unknownInput_S1_c0;
-  /* 0x0014 */ tint_array<int8_t, 12> tint_pad_1;
-  /* 0x0020 */ float4 ucolorRed_S1_c0;
-  /* 0x0030 */ float4 ucolorGreen_S1_c0;
-  /* 0x0040 */ tint_array<tint_packed_vec3_f32_array_element, 3> umatrix_S1;
-};
-
-struct tint_module_vars_struct {
-  const constant UniformBuffer_packed_vec3* x_4;
-  thread float4* sk_FragColor;
-  thread bool* sk_Clockwise;
-  thread float4* vcolor_S0;
-};
-
-struct main_out {
-  float4 sk_FragColor_1;
-};
-
-struct main_outputs {
-  float4 main_out_sk_FragColor_1 [[color(0)]];
-};
-
-struct main_inputs {
-  float4 vcolor_S0_param [[user(locn0)]];
-};
-
-int4 tint_div_v4i32(int4 lhs, int4 rhs) {
-  uint4 const v = uint4((lhs == int4((-2147483647 - 1))));
-  bool4 const v_1 = bool4((v & uint4((rhs == int4(-1)))));
-  uint4 const v_2 = uint4((rhs == int4(0)));
-  return (lhs / select(rhs, int4(1), bool4((v_2 | uint4(v_1)))));
-}
-
-int tint_f32_to_i32(float value) {
-  return select(2147483647, select((-2147483647 - 1), int(value), (value >= -2147483648.0f)), (value <= 2147483520.0f));
-}
-
-bool test_int_S1_c0_b(tint_module_vars_struct tint_module_vars) {
-  int unknown = 0;
-  bool ok = false;
-  int4 val = 0;
-  bool x_40 = false;
-  bool x_41 = false;
-  bool x_54 = false;
-  bool x_55 = false;
-  bool x_65 = false;
-  bool x_66 = false;
-  int const x_27 = tint_f32_to_i32((*tint_module_vars.x_4).unknownInput_S1_c0);
-  unknown = x_27;
-  ok = true;
-  x_41 = false;
-  if (true) {
-    x_40 = all((tint_div_v4i32(int4(0), int4(x_27)) == int4(0)));
-    x_41 = x_40;
-  }
-  ok = x_41;
-  int4 const x_44 = int4(x_27);
-  val = x_44;
-  int4 const x_47 = as_type<int4>((as_type<uint4>(x_44) + as_type<uint4>(int4(1))));
-  val = x_47;
-  int4 const x_48 = as_type<int4>((as_type<uint4>(x_47) - as_type<uint4>(int4(1))));
-  val = x_48;
-  int4 const x_49 = as_type<int4>((as_type<uint4>(x_48) + as_type<uint4>(int4(1))));
-  val = x_49;
-  int4 const x_50 = as_type<int4>((as_type<uint4>(x_49) - as_type<uint4>(int4(1))));
-  val = x_50;
-  x_55 = false;
-  if (x_41) {
-    x_54 = all((x_50 == x_44));
-    x_55 = x_54;
-  }
-  ok = x_55;
-  int4 const x_58 = as_type<int4>((as_type<uint4>(x_50) * as_type<uint4>(int4(2))));
-  val = x_58;
-  int4 const x_59 = tint_div_v4i32(x_58, int4(2));
-  val = x_59;
-  int4 const x_60 = as_type<int4>((as_type<uint4>(x_59) * as_type<uint4>(int4(2))));
-  val = x_60;
-  int4 const x_61 = tint_div_v4i32(x_60, int4(2));
-  val = x_61;
-  x_66 = false;
-  if (x_55) {
-    x_65 = all((x_61 == x_44));
-    x_66 = x_65;
-  }
-  ok = x_66;
-  return x_66;
-}
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  float4 outputColor_S0 = 0.0f;
-  float4 output_S1 = 0.0f;
-  float x_8_unknown = 0.0f;
-  bool x_9_ok = false;
-  float4 x_10_val = 0.0f;
-  float4 x_116 = 0.0f;
-  bool x_86 = false;
-  bool x_87 = false;
-  bool x_99 = false;
-  bool x_100 = false;
-  bool x_110 = false;
-  bool x_111 = false;
-  bool x_114 = false;
-  bool x_115 = false;
-  outputColor_S0 = (*tint_module_vars.vcolor_S0);
-  float const x_77 = (*tint_module_vars.x_4).unknownInput_S1_c0;
-  x_8_unknown = x_77;
-  x_9_ok = true;
-  x_87 = false;
-  if (true) {
-    x_86 = all(((float4(0.0f) / float4(x_77)) == float4(0.0f)));
-    x_87 = x_86;
-  }
-  x_9_ok = x_87;
-  float4 const x_89 = float4(x_77);
-  x_10_val = x_89;
-  float4 const x_92 = (x_89 + float4(1.0f));
-  x_10_val = x_92;
-  float4 const x_93 = (x_92 - float4(1.0f));
-  x_10_val = x_93;
-  float4 const x_94 = (x_93 + float4(1.0f));
-  x_10_val = x_94;
-  float4 const x_95 = (x_94 - float4(1.0f));
-  x_10_val = x_95;
-  x_100 = false;
-  if (x_87) {
-    x_99 = all((x_95 == x_89));
-    x_100 = x_99;
-  }
-  x_9_ok = x_100;
-  float4 const x_103 = (x_95 * float4(2.0f));
-  x_10_val = x_103;
-  float4 const x_104 = (x_103 / float4(2.0f));
-  x_10_val = x_104;
-  float4 const x_105 = (x_104 * float4(2.0f));
-  x_10_val = x_105;
-  float4 const x_106 = (x_105 / float4(2.0f));
-  x_10_val = x_106;
-  x_111 = false;
-  if (x_100) {
-    x_110 = all((x_106 == x_89));
-    x_111 = x_110;
-  }
-  x_9_ok = x_111;
-  x_115 = false;
-  if (x_111) {
-    x_114 = test_int_S1_c0_b(tint_module_vars);
-    x_115 = x_114;
-  }
-  if (x_115) {
-    x_116 = (*tint_module_vars.x_4).ucolorGreen_S1_c0;
-  } else {
-    x_116 = (*tint_module_vars.x_4).ucolorRed_S1_c0;
-  }
-  float4 const x_125 = x_116;
-  output_S1 = x_116;
-  (*tint_module_vars.sk_FragColor) = x_125;
-}
-
-main_out main_inner(bool sk_Clockwise_param, float4 vcolor_S0_param, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.sk_Clockwise) = sk_Clockwise_param;
-  (*tint_module_vars.vcolor_S0) = vcolor_S0_param;
-  main_1(tint_module_vars);
-  return main_out{.sk_FragColor_1=(*tint_module_vars.sk_FragColor)};
-}
-
-fragment main_outputs v_3(bool sk_Clockwise_param [[front_facing]], main_inputs inputs [[stage_in]], const constant UniformBuffer_packed_vec3* x_4 [[buffer(0)]]) {
-  thread float4 sk_FragColor = 0.0f;
-  thread bool sk_Clockwise = false;
-  thread float4 vcolor_S0 = 0.0f;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.x_4=x_4, .sk_FragColor=(&sk_FragColor), .sk_Clockwise=(&sk_Clockwise), .vcolor_S0=(&vcolor_S0)};
-  main_outputs tint_wrapper_result = {};
-  tint_wrapper_result.main_out_sk_FragColor_1 = main_inner(sk_Clockwise_param, inputs.vcolor_S0_param, tint_module_vars).sk_FragColor_1;
-  return tint_wrapper_result;
-}
diff --git a/test/tint/bug/tint/1520.spvasm.expected.spvasm b/test/tint/bug/tint/1520.spvasm.expected.spvasm
deleted file mode 100644
index 4391f97..0000000
--- a/test/tint/bug/tint/1520.spvasm.expected.spvasm
+++ /dev/null
@@ -1,394 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 206
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %main "main" %main_front_facing_Input %main_loc0_Input %main_loc0_Output
-               OpExecutionMode %main OriginUpperLeft
-               OpMemberName %UniformBuffer_std140 0 "unknownInput_S1_c0"
-               OpMemberName %UniformBuffer_std140 1 "ucolorRed_S1_c0"
-               OpMemberName %UniformBuffer_std140 2 "ucolorGreen_S1_c0"
-               OpMemberName %UniformBuffer_std140 3 "umatrix_S1_col0"
-               OpMemberName %UniformBuffer_std140 4 "umatrix_S1_col1"
-               OpMemberName %UniformBuffer_std140 5 "umatrix_S1_col2"
-               OpName %UniformBuffer_std140 "UniformBuffer_std140"
-               OpMemberName %x_4_block_std140 0 "inner"
-               OpName %x_4_block_std140 "x_4_block_std140"
-               OpName %sk_FragColor "sk_FragColor"
-               OpName %sk_Clockwise "sk_Clockwise"
-               OpName %vcolor_S0 "vcolor_S0"
-               OpName %main_front_facing_Input "main_front_facing_Input"
-               OpName %main_loc0_Input "main_loc0_Input"
-               OpName %main_loc0_Output "main_loc0_Output"
-               OpName %test_int_S1_c0_b "test_int_S1_c0_b"
-               OpName %unknown "unknown"
-               OpName %ok "ok"
-               OpName %val "val"
-               OpName %x_40 "x_40"
-               OpName %x_41 "x_41"
-               OpName %x_54 "x_54"
-               OpName %x_55 "x_55"
-               OpName %x_65 "x_65"
-               OpName %x_66 "x_66"
-               OpName %x_27 "x_27"
-               OpName %x_44 "x_44"
-               OpName %x_47 "x_47"
-               OpName %x_48 "x_48"
-               OpName %x_49 "x_49"
-               OpName %x_50 "x_50"
-               OpName %x_58 "x_58"
-               OpName %x_59 "x_59"
-               OpName %x_60 "x_60"
-               OpName %x_61 "x_61"
-               OpName %main_1 "main_1"
-               OpName %outputColor_S0 "outputColor_S0"
-               OpName %output_S1 "output_S1"
-               OpName %x_8_unknown "x_8_unknown"
-               OpName %x_9_ok "x_9_ok"
-               OpName %x_10_val "x_10_val"
-               OpName %x_116 "x_116"
-               OpName %x_86 "x_86"
-               OpName %x_87 "x_87"
-               OpName %x_99 "x_99"
-               OpName %x_100 "x_100"
-               OpName %x_110 "x_110"
-               OpName %x_111 "x_111"
-               OpName %x_114 "x_114"
-               OpName %x_115 "x_115"
-               OpName %x_77 "x_77"
-               OpName %x_89 "x_89"
-               OpName %x_92 "x_92"
-               OpName %x_93 "x_93"
-               OpName %x_94 "x_94"
-               OpName %x_95 "x_95"
-               OpName %x_103 "x_103"
-               OpName %x_104 "x_104"
-               OpName %x_105 "x_105"
-               OpName %x_106 "x_106"
-               OpName %x_125 "x_125"
-               OpName %main_inner "main_inner"
-               OpMemberName %main_out 0 "sk_FragColor_1"
-               OpName %main_out "main_out"
-               OpName %sk_Clockwise_param "sk_Clockwise_param"
-               OpName %vcolor_S0_param "vcolor_S0_param"
-               OpName %tint_div_v4i32 "tint_div_v4i32"
-               OpName %lhs "lhs"
-               OpName %rhs "rhs"
-               OpName %tint_f32_to_i32 "tint_f32_to_i32"
-               OpName %value "value"
-               OpName %main "main"
-               OpMemberDecorate %UniformBuffer_std140 0 Offset 16
-               OpMemberDecorate %UniformBuffer_std140 1 Offset 32
-               OpMemberDecorate %UniformBuffer_std140 2 Offset 48
-               OpMemberDecorate %UniformBuffer_std140 3 Offset 64
-               OpMemberDecorate %UniformBuffer_std140 4 Offset 80
-               OpMemberDecorate %UniformBuffer_std140 5 Offset 96
-               OpMemberDecorate %x_4_block_std140 0 Offset 0
-               OpDecorate %x_4_block_std140 Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 NonWritable
-               OpDecorate %main_front_facing_Input BuiltIn FrontFacing
-               OpDecorate %main_loc0_Input Location 0
-               OpDecorate %main_loc0_Output Location 0
-      %float = OpTypeFloat 32
-    %v4float = OpTypeVector %float 4
-    %v3float = OpTypeVector %float 3
-%UniformBuffer_std140 = OpTypeStruct %float %v4float %v4float %v3float %v3float %v3float
-%x_4_block_std140 = OpTypeStruct %UniformBuffer_std140
-%_ptr_Uniform_x_4_block_std140 = OpTypePointer Uniform %x_4_block_std140
-          %1 = OpVariable %_ptr_Uniform_x_4_block_std140 Uniform
-%_ptr_Private_v4float = OpTypePointer Private %v4float
-         %10 = OpConstantNull %v4float
-%sk_FragColor = OpVariable %_ptr_Private_v4float Private %10
-       %bool = OpTypeBool
-%_ptr_Private_bool = OpTypePointer Private %bool
-         %14 = OpConstantNull %bool
-%sk_Clockwise = OpVariable %_ptr_Private_bool Private %14
-  %vcolor_S0 = OpVariable %_ptr_Private_v4float Private %10
-%_ptr_Input_bool = OpTypePointer Input %bool
-%main_front_facing_Input = OpVariable %_ptr_Input_bool Input
-%_ptr_Input_v4float = OpTypePointer Input %v4float
-%main_loc0_Input = OpVariable %_ptr_Input_v4float Input
-%_ptr_Output_v4float = OpTypePointer Output %v4float
-%main_loc0_Output = OpVariable %_ptr_Output_v4float Output
-         %23 = OpTypeFunction %bool
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-         %28 = OpConstantNull %int
-%_ptr_Function_bool = OpTypePointer Function %bool
-      %v4int = OpTypeVector %int 4
-%_ptr_Function_v4int = OpTypePointer Function %v4int
-         %34 = OpConstantNull %v4int
-%_ptr_Uniform_float = OpTypePointer Uniform %float
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-       %true = OpConstantTrue %bool
-      %false = OpConstantFalse %bool
-     %v4bool = OpTypeVector %bool 4
-      %int_1 = OpConstant %int 1
-         %62 = OpConstantComposite %v4int %int_1 %int_1 %int_1 %int_1
-      %int_2 = OpConstant %int 2
-         %75 = OpConstantComposite %v4int %int_2 %int_2 %int_2 %int_2
-       %void = OpTypeVoid
-         %90 = OpTypeFunction %void
-%_ptr_Function_v4float = OpTypePointer Function %v4float
-%_ptr_Function_float = OpTypePointer Function %float
-         %97 = OpConstantNull %float
-    %float_1 = OpConstant %float 1
-        %122 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
-    %float_2 = OpConstant %float 2
-        %135 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
-%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-   %main_out = OpTypeStruct %v4float
-        %169 = OpTypeFunction %main_out %bool %v4float
-        %176 = OpTypeFunction %v4int %v4int %v4int
-%int_n2147483648 = OpConstant %int -2147483648
-        %180 = OpConstantComposite %v4int %int_n2147483648 %int_n2147483648 %int_n2147483648 %int_n2147483648
-     %int_n1 = OpConstant %int -1
-        %183 = OpConstantComposite %v4int %int_n1 %int_n1 %int_n1 %int_n1
-        %190 = OpTypeFunction %int %float
-%float_n2_14748365e_09 = OpConstant %float -2.14748365e+09
-%float_2_14748352e_09 = OpConstant %float 2.14748352e+09
-%int_2147483647 = OpConstant %int 2147483647
-%test_int_S1_c0_b = OpFunction %bool None %23
-         %24 = OpLabel
-    %unknown = OpVariable %_ptr_Function_int Function %28
-         %ok = OpVariable %_ptr_Function_bool Function %14
-        %val = OpVariable %_ptr_Function_v4int Function %34
-       %x_40 = OpVariable %_ptr_Function_bool Function %14
-       %x_41 = OpVariable %_ptr_Function_bool Function %14
-       %x_54 = OpVariable %_ptr_Function_bool Function %14
-       %x_55 = OpVariable %_ptr_Function_bool Function %14
-       %x_65 = OpVariable %_ptr_Function_bool Function %14
-       %x_66 = OpVariable %_ptr_Function_bool Function %14
-         %41 = OpAccessChain %_ptr_Uniform_float %1 %uint_0 %uint_0
-         %45 = OpLoad %float %41 None
-       %x_27 = OpFunctionCall %int %tint_f32_to_i32 %45
-               OpStore %unknown %x_27 None
-               OpStore %ok %true None
-               OpStore %x_41 %false None
-               OpSelectionMerge %50 None
-               OpBranchConditional %true %51 %50
-         %51 = OpLabel
-         %52 = OpCompositeConstruct %v4int %x_27 %x_27 %x_27 %x_27
-         %53 = OpFunctionCall %v4int %tint_div_v4i32 %34 %52
-         %55 = OpIEqual %v4bool %53 %34
-         %57 = OpAll %bool %55
-               OpStore %x_40 %57 None
-         %58 = OpLoad %bool %x_40 None
-               OpStore %x_41 %58 None
-               OpBranch %50
-         %50 = OpLabel
-         %59 = OpLoad %bool %x_41 None
-               OpStore %ok %59 None
-       %x_44 = OpCompositeConstruct %v4int %x_27 %x_27 %x_27 %x_27
-               OpStore %val %x_44 None
-       %x_47 = OpIAdd %v4int %x_44 %62
-               OpStore %val %x_47 None
-       %x_48 = OpISub %v4int %x_47 %62
-               OpStore %val %x_48 None
-       %x_49 = OpIAdd %v4int %x_48 %62
-               OpStore %val %x_49 None
-       %x_50 = OpISub %v4int %x_49 %62
-               OpStore %val %x_50 None
-               OpStore %x_55 %false None
-         %67 = OpLoad %bool %x_41 None
-               OpSelectionMerge %68 None
-               OpBranchConditional %67 %69 %68
-         %69 = OpLabel
-         %70 = OpIEqual %v4bool %x_50 %x_44
-         %71 = OpAll %bool %70
-               OpStore %x_54 %71 None
-         %72 = OpLoad %bool %x_54 None
-               OpStore %x_55 %72 None
-               OpBranch %68
-         %68 = OpLabel
-         %73 = OpLoad %bool %x_55 None
-               OpStore %ok %73 None
-       %x_58 = OpIMul %v4int %x_50 %75
-               OpStore %val %x_58 None
-       %x_59 = OpFunctionCall %v4int %tint_div_v4i32 %x_58 %75
-               OpStore %val %x_59 None
-       %x_60 = OpIMul %v4int %x_59 %75
-               OpStore %val %x_60 None
-       %x_61 = OpFunctionCall %v4int %tint_div_v4i32 %x_60 %75
-               OpStore %val %x_61 None
-               OpStore %x_66 %false None
-         %80 = OpLoad %bool %x_55 None
-               OpSelectionMerge %81 None
-               OpBranchConditional %80 %82 %81
-         %82 = OpLabel
-         %83 = OpIEqual %v4bool %x_61 %x_44
-         %84 = OpAll %bool %83
-               OpStore %x_65 %84 None
-         %85 = OpLoad %bool %x_65 None
-               OpStore %x_66 %85 None
-               OpBranch %81
-         %81 = OpLabel
-         %86 = OpLoad %bool %x_66 None
-               OpStore %ok %86 None
-         %87 = OpLoad %bool %x_66 None
-               OpReturnValue %87
-               OpFunctionEnd
-     %main_1 = OpFunction %void None %90
-         %91 = OpLabel
-%outputColor_S0 = OpVariable %_ptr_Function_v4float Function %10
-  %output_S1 = OpVariable %_ptr_Function_v4float Function %10
-%x_8_unknown = OpVariable %_ptr_Function_float Function %97
-     %x_9_ok = OpVariable %_ptr_Function_bool Function %14
-   %x_10_val = OpVariable %_ptr_Function_v4float Function %10
-      %x_116 = OpVariable %_ptr_Function_v4float Function %10
-       %x_86 = OpVariable %_ptr_Function_bool Function %14
-       %x_87 = OpVariable %_ptr_Function_bool Function %14
-       %x_99 = OpVariable %_ptr_Function_bool Function %14
-      %x_100 = OpVariable %_ptr_Function_bool Function %14
-      %x_110 = OpVariable %_ptr_Function_bool Function %14
-      %x_111 = OpVariable %_ptr_Function_bool Function %14
-      %x_114 = OpVariable %_ptr_Function_bool Function %14
-      %x_115 = OpVariable %_ptr_Function_bool Function %14
-        %109 = OpLoad %v4float %vcolor_S0 None
-               OpStore %outputColor_S0 %109 None
-        %110 = OpAccessChain %_ptr_Uniform_float %1 %uint_0 %uint_0
-       %x_77 = OpLoad %float %110 None
-               OpStore %x_8_unknown %x_77 None
-               OpStore %x_9_ok %true None
-               OpStore %x_87 %false None
-               OpSelectionMerge %112 None
-               OpBranchConditional %true %113 %112
-        %113 = OpLabel
-        %114 = OpCompositeConstruct %v4float %x_77 %x_77 %x_77 %x_77
-        %115 = OpFDiv %v4float %10 %114
-        %116 = OpFOrdEqual %v4bool %115 %10
-        %117 = OpAll %bool %116
-               OpStore %x_86 %117 None
-        %118 = OpLoad %bool %x_86 None
-               OpStore %x_87 %118 None
-               OpBranch %112
-        %112 = OpLabel
-        %119 = OpLoad %bool %x_87 None
-               OpStore %x_9_ok %119 None
-       %x_89 = OpCompositeConstruct %v4float %x_77 %x_77 %x_77 %x_77
-               OpStore %x_10_val %x_89 None
-       %x_92 = OpFAdd %v4float %x_89 %122
-               OpStore %x_10_val %x_92 None
-       %x_93 = OpFSub %v4float %x_92 %122
-               OpStore %x_10_val %x_93 None
-       %x_94 = OpFAdd %v4float %x_93 %122
-               OpStore %x_10_val %x_94 None
-       %x_95 = OpFSub %v4float %x_94 %122
-               OpStore %x_10_val %x_95 None
-               OpStore %x_100 %false None
-        %127 = OpLoad %bool %x_87 None
-               OpSelectionMerge %128 None
-               OpBranchConditional %127 %129 %128
-        %129 = OpLabel
-        %130 = OpFOrdEqual %v4bool %x_95 %x_89
-        %131 = OpAll %bool %130
-               OpStore %x_99 %131 None
-        %132 = OpLoad %bool %x_99 None
-               OpStore %x_100 %132 None
-               OpBranch %128
-        %128 = OpLabel
-        %133 = OpLoad %bool %x_100 None
-               OpStore %x_9_ok %133 None
-      %x_103 = OpFMul %v4float %x_95 %135
-               OpStore %x_10_val %x_103 None
-      %x_104 = OpFDiv %v4float %x_103 %135
-               OpStore %x_10_val %x_104 None
-      %x_105 = OpFMul %v4float %x_104 %135
-               OpStore %x_10_val %x_105 None
-      %x_106 = OpFDiv %v4float %x_105 %135
-               OpStore %x_10_val %x_106 None
-               OpStore %x_111 %false None
-        %140 = OpLoad %bool %x_100 None
-               OpSelectionMerge %141 None
-               OpBranchConditional %140 %142 %141
-        %142 = OpLabel
-        %143 = OpFOrdEqual %v4bool %x_106 %x_89
-        %144 = OpAll %bool %143
-               OpStore %x_110 %144 None
-        %145 = OpLoad %bool %x_110 None
-               OpStore %x_111 %145 None
-               OpBranch %141
-        %141 = OpLabel
-        %146 = OpLoad %bool %x_111 None
-               OpStore %x_9_ok %146 None
-               OpStore %x_115 %false None
-        %147 = OpLoad %bool %x_111 None
-               OpSelectionMerge %148 None
-               OpBranchConditional %147 %149 %148
-        %149 = OpLabel
-        %150 = OpFunctionCall %bool %test_int_S1_c0_b
-               OpStore %x_114 %150 None
-        %151 = OpLoad %bool %x_114 None
-               OpStore %x_115 %151 None
-               OpBranch %148
-        %148 = OpLabel
-        %152 = OpLoad %bool %x_115 None
-               OpSelectionMerge %153 None
-               OpBranchConditional %152 %154 %155
-        %154 = OpLabel
-        %156 = OpAccessChain %_ptr_Uniform_v4float %1 %uint_0 %uint_2
-        %159 = OpLoad %v4float %156 None
-               OpStore %x_116 %159 None
-               OpBranch %153
-        %155 = OpLabel
-        %160 = OpAccessChain %_ptr_Uniform_v4float %1 %uint_0 %uint_1
-        %162 = OpLoad %v4float %160 None
-               OpStore %x_116 %162 None
-               OpBranch %153
-        %153 = OpLabel
-      %x_125 = OpLoad %v4float %x_116 None
-        %164 = OpLoad %v4float %x_116 None
-               OpStore %output_S1 %164 None
-               OpStore %sk_FragColor %x_125 None
-               OpReturn
-               OpFunctionEnd
- %main_inner = OpFunction %main_out None %169
-%sk_Clockwise_param = OpFunctionParameter %bool
-%vcolor_S0_param = OpFunctionParameter %v4float
-        %170 = OpLabel
-               OpStore %sk_Clockwise %sk_Clockwise_param None
-               OpStore %vcolor_S0 %vcolor_S0_param None
-        %171 = OpFunctionCall %void %main_1
-        %172 = OpLoad %v4float %sk_FragColor None
-        %173 = OpCompositeConstruct %main_out %172
-               OpReturnValue %173
-               OpFunctionEnd
-%tint_div_v4i32 = OpFunction %v4int None %176
-        %lhs = OpFunctionParameter %v4int
-        %rhs = OpFunctionParameter %v4int
-        %177 = OpLabel
-        %178 = OpIEqual %v4bool %rhs %34
-        %179 = OpIEqual %v4bool %lhs %180
-        %182 = OpIEqual %v4bool %rhs %183
-        %185 = OpLogicalAnd %v4bool %179 %182
-        %186 = OpLogicalOr %v4bool %178 %185
-        %187 = OpSelect %v4int %186 %62 %rhs
-        %188 = OpSDiv %v4int %lhs %187
-               OpReturnValue %188
-               OpFunctionEnd
-%tint_f32_to_i32 = OpFunction %int None %190
-      %value = OpFunctionParameter %float
-        %191 = OpLabel
-        %192 = OpConvertFToS %int %value
-        %193 = OpFOrdGreaterThanEqual %bool %value %float_n2_14748365e_09
-        %195 = OpSelect %int %193 %192 %int_n2147483648
-        %196 = OpFOrdLessThanEqual %bool %value %float_2_14748352e_09
-        %198 = OpSelect %int %196 %195 %int_2147483647
-               OpReturnValue %198
-               OpFunctionEnd
-       %main = OpFunction %void None %90
-        %201 = OpLabel
-        %202 = OpLoad %bool %main_front_facing_Input None
-        %203 = OpLoad %v4float %main_loc0_Input None
-        %204 = OpFunctionCall %main_out %main_inner %202 %203
-        %205 = OpCompositeExtract %v4float %204 0
-               OpStore %main_loc0_Output %205 None
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/1670.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/1670.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8bc6124..0000000
--- a/test/tint/bug/tint/1670.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,18 +0,0 @@
-void main_1() {
-  float2x2 m2i = float2x2(0.0f, 0.0f, 0.0f, 0.0f);
-  float2x2 m2 = float2x2(0.0f, 0.0f, 0.0f, 0.0f);
-  float3x3 m3i = float3x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float3x3 m3 = float3x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float4x4 m4i = float4x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float4x4 m4 = float4x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float s = (1.0f / determinant(m2));
-  m2i = float2x2(float2((s * m2[1u][1u]), (-(s) * m2[0u][1u])), float2((-(s) * m2[1u][0u]), (s * m2[0u][0u])));
-  m3i = ((1.0f / determinant(m3)) * float3x3(float3(((m3[1u][1u] * m3[2u][2u]) - (m3[1u][2u] * m3[2u][1u])), ((m3[0u][2u] * m3[2u][1u]) - (m3[0u][1u] * m3[2u][2u])), ((m3[0u][1u] * m3[1u][2u]) - (m3[0u][2u] * m3[1u][1u]))), float3(((m3[1u][2u] * m3[2u][0u]) - (m3[1u][0u] * m3[2u][2u])), ((m3[0u][0u] * m3[2u][2u]) - (m3[0u][2u] * m3[2u][0u])), ((m3[0u][2u] * m3[1u][0u]) - (m3[0u][0u] * m3[1u][2u]))), float3(((m3[1u][0u] * m3[2u][1u]) - (m3[1u][1u] * m3[2u][0u])), ((m3[0u][1u] * m3[2u][0u]) - (m3[0u][0u] * m3[2u][1u])), ((m3[0u][0u] * m3[1u][1u]) - (m3[0u][1u] * m3[1u][0u])))));
-  m4i = ((1.0f / determinant(m4)) * float4x4(float4((((m4[1u][1u] * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) - (m4[1u][2u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u])))) + (m4[1u][3u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u])))), (((-(m4[0u][1u]) * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) + (m4[0u][2u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u])))) - (m4[0u][3u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u])))), (((m4[0u][1u] * ((m4[1u][2u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][2u]))) - (m4[0u][2u] * ((m4[1u][1u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][1u])))) + (m4[0u][3u] * ((m4[1u][1u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][1u])))), (((-(m4[0u][1u]) * ((m4[1u][2u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][2u]))) + (m4[0u][2u] * ((m4[1u][1u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][1u])))) - (m4[0u][3u] * ((m4[1u][1u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][1u]))))), float4((((-(m4[1u][0u]) * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) + (m4[1u][2u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) - (m4[1u][3u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) - (m4[0u][2u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) + (m4[0u][3u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][2u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][2u]))) + (m4[0u][2u] * ((m4[1u][0u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][0u])))) - (m4[0u][3u] * ((m4[1u][0u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][2u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][2u]))) - (m4[0u][2u] * ((m4[1u][0u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][0u])))) + (m4[0u][3u] * ((m4[1u][0u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][0u]))))), float4((((m4[1u][0u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u]))) - (m4[1u][1u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) + (m4[1u][3u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u]))) + (m4[0u][1u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) - (m4[0u][3u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][1u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][1u]))) - (m4[0u][1u] * ((m4[1u][0u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][0u])))) + (m4[0u][3u] * ((m4[1u][0u] * m4[3u][1u]) - (m4[1u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][1u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][1u]))) + (m4[0u][1u] * ((m4[1u][0u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][0u])))) - (m4[0u][3u] * ((m4[1u][0u] * m4[2u][1u]) - (m4[1u][1u] * m4[2u][0u]))))), float4((((-(m4[1u][0u]) * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u]))) + (m4[1u][1u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))) - (m4[1u][2u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u]))) - (m4[0u][1u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))) + (m4[0u][2u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][1u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][1u]))) + (m4[0u][1u] * ((m4[1u][0u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][0u])))) - (m4[0u][2u] * ((m4[1u][0u] * m4[3u][1u]) - (m4[1u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][1u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][1u]))) - (m4[0u][1u] * ((m4[1u][0u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][0u])))) + (m4[0u][2u] * ((m4[1u][0u] * m4[2u][1u]) - (m4[1u][1u] * m4[2u][0u])))))));
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/1670.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/1670.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8bc6124..0000000
--- a/test/tint/bug/tint/1670.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,18 +0,0 @@
-void main_1() {
-  float2x2 m2i = float2x2(0.0f, 0.0f, 0.0f, 0.0f);
-  float2x2 m2 = float2x2(0.0f, 0.0f, 0.0f, 0.0f);
-  float3x3 m3i = float3x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float3x3 m3 = float3x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float4x4 m4i = float4x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float4x4 m4 = float4x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float s = (1.0f / determinant(m2));
-  m2i = float2x2(float2((s * m2[1u][1u]), (-(s) * m2[0u][1u])), float2((-(s) * m2[1u][0u]), (s * m2[0u][0u])));
-  m3i = ((1.0f / determinant(m3)) * float3x3(float3(((m3[1u][1u] * m3[2u][2u]) - (m3[1u][2u] * m3[2u][1u])), ((m3[0u][2u] * m3[2u][1u]) - (m3[0u][1u] * m3[2u][2u])), ((m3[0u][1u] * m3[1u][2u]) - (m3[0u][2u] * m3[1u][1u]))), float3(((m3[1u][2u] * m3[2u][0u]) - (m3[1u][0u] * m3[2u][2u])), ((m3[0u][0u] * m3[2u][2u]) - (m3[0u][2u] * m3[2u][0u])), ((m3[0u][2u] * m3[1u][0u]) - (m3[0u][0u] * m3[1u][2u]))), float3(((m3[1u][0u] * m3[2u][1u]) - (m3[1u][1u] * m3[2u][0u])), ((m3[0u][1u] * m3[2u][0u]) - (m3[0u][0u] * m3[2u][1u])), ((m3[0u][0u] * m3[1u][1u]) - (m3[0u][1u] * m3[1u][0u])))));
-  m4i = ((1.0f / determinant(m4)) * float4x4(float4((((m4[1u][1u] * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) - (m4[1u][2u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u])))) + (m4[1u][3u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u])))), (((-(m4[0u][1u]) * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) + (m4[0u][2u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u])))) - (m4[0u][3u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u])))), (((m4[0u][1u] * ((m4[1u][2u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][2u]))) - (m4[0u][2u] * ((m4[1u][1u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][1u])))) + (m4[0u][3u] * ((m4[1u][1u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][1u])))), (((-(m4[0u][1u]) * ((m4[1u][2u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][2u]))) + (m4[0u][2u] * ((m4[1u][1u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][1u])))) - (m4[0u][3u] * ((m4[1u][1u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][1u]))))), float4((((-(m4[1u][0u]) * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) + (m4[1u][2u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) - (m4[1u][3u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) - (m4[0u][2u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) + (m4[0u][3u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][2u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][2u]))) + (m4[0u][2u] * ((m4[1u][0u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][0u])))) - (m4[0u][3u] * ((m4[1u][0u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][2u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][2u]))) - (m4[0u][2u] * ((m4[1u][0u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][0u])))) + (m4[0u][3u] * ((m4[1u][0u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][0u]))))), float4((((m4[1u][0u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u]))) - (m4[1u][1u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) + (m4[1u][3u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u]))) + (m4[0u][1u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) - (m4[0u][3u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][1u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][1u]))) - (m4[0u][1u] * ((m4[1u][0u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][0u])))) + (m4[0u][3u] * ((m4[1u][0u] * m4[3u][1u]) - (m4[1u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][1u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][1u]))) + (m4[0u][1u] * ((m4[1u][0u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][0u])))) - (m4[0u][3u] * ((m4[1u][0u] * m4[2u][1u]) - (m4[1u][1u] * m4[2u][0u]))))), float4((((-(m4[1u][0u]) * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u]))) + (m4[1u][1u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))) - (m4[1u][2u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u]))) - (m4[0u][1u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))) + (m4[0u][2u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][1u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][1u]))) + (m4[0u][1u] * ((m4[1u][0u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][0u])))) - (m4[0u][2u] * ((m4[1u][0u] * m4[3u][1u]) - (m4[1u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][1u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][1u]))) - (m4[0u][1u] * ((m4[1u][0u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][0u])))) + (m4[0u][2u] * ((m4[1u][0u] * m4[2u][1u]) - (m4[1u][1u] * m4[2u][0u])))))));
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/1670.spvasm.expected.glsl b/test/tint/bug/tint/1670.spvasm.expected.glsl
deleted file mode 100644
index bcf1ea7..0000000
--- a/test/tint/bug/tint/1670.spvasm.expected.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-#version 310 es
-precision highp float;
-precision highp int;
-
-void main_1() {
-  mat2 m2i = mat2(vec2(0.0f), vec2(0.0f));
-  mat2 m2 = mat2(vec2(0.0f), vec2(0.0f));
-  mat3 m3i = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
-  mat3 m3 = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
-  mat4 m4i = mat4(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  mat4 m4 = mat4(vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  float s = (1.0f / determinant(m2));
-  vec2 v = vec2((s * m2[1u].y), (-(s) * m2[0u].y));
-  m2i = mat2(v, vec2((-(s) * m2[1u].x), (s * m2[0u].x)));
-  float v_1 = (1.0f / determinant(m3));
-  vec3 v_2 = vec3(((m3[1u].y * m3[2u].z) - (m3[1u].z * m3[2u].y)), ((m3[0u].z * m3[2u].y) - (m3[0u].y * m3[2u].z)), ((m3[0u].y * m3[1u].z) - (m3[0u].z * m3[1u].y)));
-  vec3 v_3 = vec3(((m3[1u].z * m3[2u].x) - (m3[1u].x * m3[2u].z)), ((m3[0u].x * m3[2u].z) - (m3[0u].z * m3[2u].x)), ((m3[0u].z * m3[1u].x) - (m3[0u].x * m3[1u].z)));
-  m3i = (v_1 * mat3(v_2, v_3, vec3(((m3[1u].x * m3[2u].y) - (m3[1u].y * m3[2u].x)), ((m3[0u].y * m3[2u].x) - (m3[0u].x * m3[2u].y)), ((m3[0u].x * m3[1u].y) - (m3[0u].y * m3[1u].x)))));
-  float v_4 = (1.0f / determinant(m4));
-  vec4 v_5 = vec4((((m4[1u].y * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[1u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) + (m4[1u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[0u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) - (m4[0u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((m4[0u].y * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) - (m4[0u].z * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y)))) + (m4[0u].w * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) + (m4[0u].z * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y)))) - (m4[0u].w * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y)))));
-  vec4 v_6 = vec4((((-(m4[1u].x) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[1u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[1u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((m4[0u].x * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[0u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[0u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) + (m4[0u].z * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) - (m4[0u].w * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))), (((m4[0u].x * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) - (m4[0u].z * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) + (m4[0u].w * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))));
-  vec4 v_7 = vec4((((m4[1u].x * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) - (m4[1u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[1u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) + (m4[0u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[0u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y))) - (m4[0u].y * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) + (m4[0u].w * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y))) + (m4[0u].y * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) - (m4[0u].w * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))));
-  m4i = (v_4 * mat4(v_5, v_6, v_7, vec4((((-(m4[1u].x) * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) + (m4[1u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) - (m4[1u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) - (m4[0u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) + (m4[0u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y))) + (m4[0u].y * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))) - (m4[0u].z * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y))) - (m4[0u].y * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))) + (m4[0u].z * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))))));
-}
-void main() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/1670.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/1670.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7c00fde..0000000
--- a/test/tint/bug/tint/1670.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-
-void main_1() {
-  float2x2 m2i = float2x2((0.0f).xx, (0.0f).xx);
-  float2x2 m2 = float2x2((0.0f).xx, (0.0f).xx);
-  float3x3 m3i = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float3x3 m3 = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float4x4 m4i = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
-  float4x4 m4 = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
-  float s = (1.0f / determinant(m2));
-  float2 v = float2((s * m2[1u].y), (-(s) * m2[0u].y));
-  m2i = float2x2(v, float2((-(s) * m2[1u].x), (s * m2[0u].x)));
-  float v_1 = (1.0f / determinant(m3));
-  float3 v_2 = float3(((m3[1u].y * m3[2u].z) - (m3[1u].z * m3[2u].y)), ((m3[0u].z * m3[2u].y) - (m3[0u].y * m3[2u].z)), ((m3[0u].y * m3[1u].z) - (m3[0u].z * m3[1u].y)));
-  float3 v_3 = float3(((m3[1u].z * m3[2u].x) - (m3[1u].x * m3[2u].z)), ((m3[0u].x * m3[2u].z) - (m3[0u].z * m3[2u].x)), ((m3[0u].z * m3[1u].x) - (m3[0u].x * m3[1u].z)));
-  m3i = (v_1 * float3x3(v_2, v_3, float3(((m3[1u].x * m3[2u].y) - (m3[1u].y * m3[2u].x)), ((m3[0u].y * m3[2u].x) - (m3[0u].x * m3[2u].y)), ((m3[0u].x * m3[1u].y) - (m3[0u].y * m3[1u].x)))));
-  float v_4 = (1.0f / determinant(m4));
-  float4 v_5 = float4((((m4[1u].y * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[1u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) + (m4[1u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[0u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) - (m4[0u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((m4[0u].y * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) - (m4[0u].z * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y)))) + (m4[0u].w * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) + (m4[0u].z * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y)))) - (m4[0u].w * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y)))));
-  float4 v_6 = float4((((-(m4[1u].x) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[1u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[1u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((m4[0u].x * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[0u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[0u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) + (m4[0u].z * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) - (m4[0u].w * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))), (((m4[0u].x * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) - (m4[0u].z * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) + (m4[0u].w * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))));
-  float4 v_7 = float4((((m4[1u].x * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) - (m4[1u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[1u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) + (m4[0u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[0u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y))) - (m4[0u].y * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) + (m4[0u].w * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y))) + (m4[0u].y * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) - (m4[0u].w * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))));
-  m4i = (v_4 * float4x4(v_5, v_6, v_7, float4((((-(m4[1u].x) * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) + (m4[1u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) - (m4[1u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) - (m4[0u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) + (m4[0u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y))) + (m4[0u].y * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))) - (m4[0u].z * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y))) - (m4[0u].y * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))) + (m4[0u].z * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))))));
-}
-
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/1670.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/1670.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7c00fde..0000000
--- a/test/tint/bug/tint/1670.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-
-void main_1() {
-  float2x2 m2i = float2x2((0.0f).xx, (0.0f).xx);
-  float2x2 m2 = float2x2((0.0f).xx, (0.0f).xx);
-  float3x3 m3i = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float3x3 m3 = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  float4x4 m4i = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
-  float4x4 m4 = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
-  float s = (1.0f / determinant(m2));
-  float2 v = float2((s * m2[1u].y), (-(s) * m2[0u].y));
-  m2i = float2x2(v, float2((-(s) * m2[1u].x), (s * m2[0u].x)));
-  float v_1 = (1.0f / determinant(m3));
-  float3 v_2 = float3(((m3[1u].y * m3[2u].z) - (m3[1u].z * m3[2u].y)), ((m3[0u].z * m3[2u].y) - (m3[0u].y * m3[2u].z)), ((m3[0u].y * m3[1u].z) - (m3[0u].z * m3[1u].y)));
-  float3 v_3 = float3(((m3[1u].z * m3[2u].x) - (m3[1u].x * m3[2u].z)), ((m3[0u].x * m3[2u].z) - (m3[0u].z * m3[2u].x)), ((m3[0u].z * m3[1u].x) - (m3[0u].x * m3[1u].z)));
-  m3i = (v_1 * float3x3(v_2, v_3, float3(((m3[1u].x * m3[2u].y) - (m3[1u].y * m3[2u].x)), ((m3[0u].y * m3[2u].x) - (m3[0u].x * m3[2u].y)), ((m3[0u].x * m3[1u].y) - (m3[0u].y * m3[1u].x)))));
-  float v_4 = (1.0f / determinant(m4));
-  float4 v_5 = float4((((m4[1u].y * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[1u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) + (m4[1u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[0u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) - (m4[0u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((m4[0u].y * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) - (m4[0u].z * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y)))) + (m4[0u].w * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) + (m4[0u].z * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y)))) - (m4[0u].w * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y)))));
-  float4 v_6 = float4((((-(m4[1u].x) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[1u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[1u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((m4[0u].x * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[0u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[0u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) + (m4[0u].z * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) - (m4[0u].w * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))), (((m4[0u].x * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) - (m4[0u].z * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) + (m4[0u].w * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))));
-  float4 v_7 = float4((((m4[1u].x * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) - (m4[1u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[1u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) + (m4[0u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[0u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y))) - (m4[0u].y * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) + (m4[0u].w * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y))) + (m4[0u].y * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) - (m4[0u].w * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))));
-  m4i = (v_4 * float4x4(v_5, v_6, v_7, float4((((-(m4[1u].x) * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) + (m4[1u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) - (m4[1u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) - (m4[0u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) + (m4[0u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y))) + (m4[0u].y * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))) - (m4[0u].z * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y))) - (m4[0u].y * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))) + (m4[0u].z * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))))));
-}
-
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/1670.spvasm.expected.msl b/test/tint/bug/tint/1670.spvasm.expected.msl
deleted file mode 100644
index 608ba0d..0000000
--- a/test/tint/bug/tint/1670.spvasm.expected.msl
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float2x2 m2i = float2x2(0.0f);
-  float2x2 m2 = float2x2(0.0f);
-  float3x3 m3i = float3x3(0.0f);
-  float3x3 m3 = float3x3(0.0f);
-  float4x4 m4i = float4x4(0.0f);
-  float4x4 m4 = float4x4(0.0f);
-  float const s = (1.0f / determinant(m2));
-  float2 const v = float2((s * m2[1u].y), (-(s) * m2[0u].y));
-  m2i = float2x2(v, float2((-(s) * m2[1u].x), (s * m2[0u].x)));
-  float const v_1 = (1.0f / determinant(m3));
-  float3 const v_2 = float3(((m3[1u].y * m3[2u].z) - (m3[1u].z * m3[2u].y)), ((m3[0u].z * m3[2u].y) - (m3[0u].y * m3[2u].z)), ((m3[0u].y * m3[1u].z) - (m3[0u].z * m3[1u].y)));
-  float3 const v_3 = float3(((m3[1u].z * m3[2u].x) - (m3[1u].x * m3[2u].z)), ((m3[0u].x * m3[2u].z) - (m3[0u].z * m3[2u].x)), ((m3[0u].z * m3[1u].x) - (m3[0u].x * m3[1u].z)));
-  m3i = (v_1 * float3x3(v_2, v_3, float3(((m3[1u].x * m3[2u].y) - (m3[1u].y * m3[2u].x)), ((m3[0u].y * m3[2u].x) - (m3[0u].x * m3[2u].y)), ((m3[0u].x * m3[1u].y) - (m3[0u].y * m3[1u].x)))));
-  float const v_4 = (1.0f / determinant(m4));
-  float4 const v_5 = float4((((m4[1u].y * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[1u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) + (m4[1u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[0u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) - (m4[0u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((m4[0u].y * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) - (m4[0u].z * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y)))) + (m4[0u].w * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) + (m4[0u].z * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y)))) - (m4[0u].w * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y)))));
-  float4 const v_6 = float4((((-(m4[1u].x) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[1u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[1u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((m4[0u].x * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[0u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[0u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) + (m4[0u].z * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) - (m4[0u].w * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))), (((m4[0u].x * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) - (m4[0u].z * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) + (m4[0u].w * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))));
-  float4 const v_7 = float4((((m4[1u].x * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) - (m4[1u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[1u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) + (m4[0u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[0u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y))) - (m4[0u].y * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) + (m4[0u].w * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y))) + (m4[0u].y * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) - (m4[0u].w * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))));
-  m4i = (v_4 * float4x4(v_5, v_6, v_7, float4((((-(m4[1u].x) * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) + (m4[1u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) - (m4[1u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) - (m4[0u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) + (m4[0u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y))) + (m4[0u].y * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))) - (m4[0u].z * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y))) - (m4[0u].y * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))) + (m4[0u].z * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))))));
-}
-
-fragment void v_8() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/1670.spvasm.expected.spvasm b/test/tint/bug/tint/1670.spvasm.expected.spvasm
deleted file mode 100644
index 376ba73..0000000
--- a/test/tint/bug/tint/1670.spvasm.expected.spvasm
+++ /dev/null
@@ -1,1190 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 1166
-; Schema: 0
-               OpCapability Shader
-         %26 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %main "main"
-               OpExecutionMode %main OriginUpperLeft
-               OpName %main_1 "main_1"
-               OpName %m2i "m2i"
-               OpName %m2 "m2"
-               OpName %m3i "m3i"
-               OpName %m3 "m3"
-               OpName %m4i "m4i"
-               OpName %m4 "m4"
-               OpName %s "s"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-    %v2float = OpTypeVector %float 2
-%mat2v2float = OpTypeMatrix %v2float 2
-%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
-         %10 = OpConstantNull %mat2v2float
-    %v3float = OpTypeVector %float 3
-%mat3v3float = OpTypeMatrix %v3float 3
-%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
-         %16 = OpConstantNull %mat3v3float
-    %v4float = OpTypeVector %float 4
-%mat4v4float = OpTypeMatrix %v4float 4
-%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
-         %22 = OpConstantNull %mat4v4float
-    %float_1 = OpConstant %float 1
-%_ptr_Function_v2float = OpTypePointer Function %v2float
-       %uint = OpTypeInt 32 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_Function_float = OpTypePointer Function %float
-     %uint_0 = OpConstant %uint 0
-%_ptr_Function_v3float = OpTypePointer Function %v3float
-     %uint_2 = OpConstant %uint 2
-%_ptr_Function_v4float = OpTypePointer Function %v4float
-     %uint_3 = OpConstant %uint 3
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-        %m2i = OpVariable %_ptr_Function_mat2v2float Function %10
-         %m2 = OpVariable %_ptr_Function_mat2v2float Function %10
-        %m3i = OpVariable %_ptr_Function_mat3v3float Function %16
-         %m3 = OpVariable %_ptr_Function_mat3v3float Function %16
-        %m4i = OpVariable %_ptr_Function_mat4v4float Function %22
-         %m4 = OpVariable %_ptr_Function_mat4v4float Function %22
-         %24 = OpLoad %mat2v2float %m2 None
-         %25 = OpExtInst %float %26 Determinant %24
-          %s = OpFDiv %float %float_1 %25
-         %29 = OpAccessChain %_ptr_Function_v2float %m2 %uint_1
-         %33 = OpAccessChain %_ptr_Function_float %29 %uint_1
-         %35 = OpLoad %float %33 None
-         %36 = OpFMul %float %s %35
-         %37 = OpFNegate %float %s
-         %38 = OpAccessChain %_ptr_Function_v2float %m2 %uint_0
-         %40 = OpAccessChain %_ptr_Function_float %38 %uint_1
-         %41 = OpLoad %float %40 None
-         %42 = OpFMul %float %37 %41
-         %43 = OpCompositeConstruct %v2float %36 %42
-         %44 = OpFNegate %float %s
-         %45 = OpAccessChain %_ptr_Function_v2float %m2 %uint_1
-         %46 = OpAccessChain %_ptr_Function_float %45 %uint_0
-         %47 = OpLoad %float %46 None
-         %48 = OpFMul %float %44 %47
-         %49 = OpAccessChain %_ptr_Function_v2float %m2 %uint_0
-         %50 = OpAccessChain %_ptr_Function_float %49 %uint_0
-         %51 = OpLoad %float %50 None
-         %52 = OpFMul %float %s %51
-         %53 = OpCompositeConstruct %v2float %48 %52
-         %54 = OpCompositeConstruct %mat2v2float %43 %53
-               OpStore %m2i %54 None
-         %55 = OpLoad %mat3v3float %m3 None
-         %56 = OpExtInst %float %26 Determinant %55
-         %57 = OpFDiv %float %float_1 %56
-         %58 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-         %60 = OpAccessChain %_ptr_Function_float %58 %uint_1
-         %61 = OpLoad %float %60 None
-         %62 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-         %64 = OpAccessChain %_ptr_Function_float %62 %uint_2
-         %65 = OpLoad %float %64 None
-         %66 = OpFMul %float %61 %65
-         %67 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-         %68 = OpAccessChain %_ptr_Function_float %67 %uint_2
-         %69 = OpLoad %float %68 None
-         %70 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-         %71 = OpAccessChain %_ptr_Function_float %70 %uint_1
-         %72 = OpLoad %float %71 None
-         %73 = OpFMul %float %69 %72
-         %74 = OpFSub %float %66 %73
-         %75 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-         %76 = OpAccessChain %_ptr_Function_float %75 %uint_2
-         %77 = OpLoad %float %76 None
-         %78 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-         %79 = OpAccessChain %_ptr_Function_float %78 %uint_1
-         %80 = OpLoad %float %79 None
-         %81 = OpFMul %float %77 %80
-         %82 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-         %83 = OpAccessChain %_ptr_Function_float %82 %uint_1
-         %84 = OpLoad %float %83 None
-         %85 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-         %86 = OpAccessChain %_ptr_Function_float %85 %uint_2
-         %87 = OpLoad %float %86 None
-         %88 = OpFMul %float %84 %87
-         %89 = OpFSub %float %81 %88
-         %90 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-         %91 = OpAccessChain %_ptr_Function_float %90 %uint_1
-         %92 = OpLoad %float %91 None
-         %93 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-         %94 = OpAccessChain %_ptr_Function_float %93 %uint_2
-         %95 = OpLoad %float %94 None
-         %96 = OpFMul %float %92 %95
-         %97 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-         %98 = OpAccessChain %_ptr_Function_float %97 %uint_2
-         %99 = OpLoad %float %98 None
-        %100 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %101 = OpAccessChain %_ptr_Function_float %100 %uint_1
-        %102 = OpLoad %float %101 None
-        %103 = OpFMul %float %99 %102
-        %104 = OpFSub %float %96 %103
-        %105 = OpCompositeConstruct %v3float %74 %89 %104
-        %106 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %107 = OpAccessChain %_ptr_Function_float %106 %uint_2
-        %108 = OpLoad %float %107 None
-        %109 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %110 = OpAccessChain %_ptr_Function_float %109 %uint_0
-        %111 = OpLoad %float %110 None
-        %112 = OpFMul %float %108 %111
-        %113 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %114 = OpAccessChain %_ptr_Function_float %113 %uint_0
-        %115 = OpLoad %float %114 None
-        %116 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %117 = OpAccessChain %_ptr_Function_float %116 %uint_2
-        %118 = OpLoad %float %117 None
-        %119 = OpFMul %float %115 %118
-        %120 = OpFSub %float %112 %119
-        %121 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %122 = OpAccessChain %_ptr_Function_float %121 %uint_0
-        %123 = OpLoad %float %122 None
-        %124 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %125 = OpAccessChain %_ptr_Function_float %124 %uint_2
-        %126 = OpLoad %float %125 None
-        %127 = OpFMul %float %123 %126
-        %128 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %129 = OpAccessChain %_ptr_Function_float %128 %uint_2
-        %130 = OpLoad %float %129 None
-        %131 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %132 = OpAccessChain %_ptr_Function_float %131 %uint_0
-        %133 = OpLoad %float %132 None
-        %134 = OpFMul %float %130 %133
-        %135 = OpFSub %float %127 %134
-        %136 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %137 = OpAccessChain %_ptr_Function_float %136 %uint_2
-        %138 = OpLoad %float %137 None
-        %139 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %140 = OpAccessChain %_ptr_Function_float %139 %uint_0
-        %141 = OpLoad %float %140 None
-        %142 = OpFMul %float %138 %141
-        %143 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %144 = OpAccessChain %_ptr_Function_float %143 %uint_0
-        %145 = OpLoad %float %144 None
-        %146 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %147 = OpAccessChain %_ptr_Function_float %146 %uint_2
-        %148 = OpLoad %float %147 None
-        %149 = OpFMul %float %145 %148
-        %150 = OpFSub %float %142 %149
-        %151 = OpCompositeConstruct %v3float %120 %135 %150
-        %152 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %153 = OpAccessChain %_ptr_Function_float %152 %uint_0
-        %154 = OpLoad %float %153 None
-        %155 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %156 = OpAccessChain %_ptr_Function_float %155 %uint_1
-        %157 = OpLoad %float %156 None
-        %158 = OpFMul %float %154 %157
-        %159 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %160 = OpAccessChain %_ptr_Function_float %159 %uint_1
-        %161 = OpLoad %float %160 None
-        %162 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %163 = OpAccessChain %_ptr_Function_float %162 %uint_0
-        %164 = OpLoad %float %163 None
-        %165 = OpFMul %float %161 %164
-        %166 = OpFSub %float %158 %165
-        %167 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %168 = OpAccessChain %_ptr_Function_float %167 %uint_1
-        %169 = OpLoad %float %168 None
-        %170 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %171 = OpAccessChain %_ptr_Function_float %170 %uint_0
-        %172 = OpLoad %float %171 None
-        %173 = OpFMul %float %169 %172
-        %174 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %175 = OpAccessChain %_ptr_Function_float %174 %uint_0
-        %176 = OpLoad %float %175 None
-        %177 = OpAccessChain %_ptr_Function_v3float %m3 %uint_2
-        %178 = OpAccessChain %_ptr_Function_float %177 %uint_1
-        %179 = OpLoad %float %178 None
-        %180 = OpFMul %float %176 %179
-        %181 = OpFSub %float %173 %180
-        %182 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %183 = OpAccessChain %_ptr_Function_float %182 %uint_0
-        %184 = OpLoad %float %183 None
-        %185 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %186 = OpAccessChain %_ptr_Function_float %185 %uint_1
-        %187 = OpLoad %float %186 None
-        %188 = OpFMul %float %184 %187
-        %189 = OpAccessChain %_ptr_Function_v3float %m3 %uint_0
-        %190 = OpAccessChain %_ptr_Function_float %189 %uint_1
-        %191 = OpLoad %float %190 None
-        %192 = OpAccessChain %_ptr_Function_v3float %m3 %uint_1
-        %193 = OpAccessChain %_ptr_Function_float %192 %uint_0
-        %194 = OpLoad %float %193 None
-        %195 = OpFMul %float %191 %194
-        %196 = OpFSub %float %188 %195
-        %197 = OpCompositeConstruct %v3float %166 %181 %196
-        %198 = OpCompositeConstruct %mat3v3float %105 %151 %197
-        %199 = OpMatrixTimesScalar %mat3v3float %198 %57
-               OpStore %m3i %199 None
-        %200 = OpLoad %mat4v4float %m4 None
-        %201 = OpExtInst %float %26 Determinant %200
-        %202 = OpFDiv %float %float_1 %201
-        %203 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %205 = OpAccessChain %_ptr_Function_float %203 %uint_1
-        %206 = OpLoad %float %205 None
-        %207 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %208 = OpAccessChain %_ptr_Function_float %207 %uint_2
-        %209 = OpLoad %float %208 None
-        %210 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %212 = OpAccessChain %_ptr_Function_float %210 %uint_3
-        %213 = OpLoad %float %212 None
-        %214 = OpFMul %float %209 %213
-        %215 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %216 = OpAccessChain %_ptr_Function_float %215 %uint_3
-        %217 = OpLoad %float %216 None
-        %218 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %219 = OpAccessChain %_ptr_Function_float %218 %uint_2
-        %220 = OpLoad %float %219 None
-        %221 = OpFMul %float %217 %220
-        %222 = OpFSub %float %214 %221
-        %223 = OpFMul %float %206 %222
-        %224 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %225 = OpAccessChain %_ptr_Function_float %224 %uint_2
-        %226 = OpLoad %float %225 None
-        %227 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %228 = OpAccessChain %_ptr_Function_float %227 %uint_1
-        %229 = OpLoad %float %228 None
-        %230 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %231 = OpAccessChain %_ptr_Function_float %230 %uint_3
-        %232 = OpLoad %float %231 None
-        %233 = OpFMul %float %229 %232
-        %234 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %235 = OpAccessChain %_ptr_Function_float %234 %uint_3
-        %236 = OpLoad %float %235 None
-        %237 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %238 = OpAccessChain %_ptr_Function_float %237 %uint_1
-        %239 = OpLoad %float %238 None
-        %240 = OpFMul %float %236 %239
-        %241 = OpFSub %float %233 %240
-        %242 = OpFMul %float %226 %241
-        %243 = OpFSub %float %223 %242
-        %244 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %245 = OpAccessChain %_ptr_Function_float %244 %uint_3
-        %246 = OpLoad %float %245 None
-        %247 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %248 = OpAccessChain %_ptr_Function_float %247 %uint_1
-        %249 = OpLoad %float %248 None
-        %250 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %251 = OpAccessChain %_ptr_Function_float %250 %uint_2
-        %252 = OpLoad %float %251 None
-        %253 = OpFMul %float %249 %252
-        %254 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %255 = OpAccessChain %_ptr_Function_float %254 %uint_2
-        %256 = OpLoad %float %255 None
-        %257 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %258 = OpAccessChain %_ptr_Function_float %257 %uint_1
-        %259 = OpLoad %float %258 None
-        %260 = OpFMul %float %256 %259
-        %261 = OpFSub %float %253 %260
-        %262 = OpFMul %float %246 %261
-        %263 = OpFAdd %float %243 %262
-        %264 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %265 = OpAccessChain %_ptr_Function_float %264 %uint_1
-        %266 = OpLoad %float %265 None
-        %267 = OpFNegate %float %266
-        %268 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %269 = OpAccessChain %_ptr_Function_float %268 %uint_2
-        %270 = OpLoad %float %269 None
-        %271 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %272 = OpAccessChain %_ptr_Function_float %271 %uint_3
-        %273 = OpLoad %float %272 None
-        %274 = OpFMul %float %270 %273
-        %275 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %276 = OpAccessChain %_ptr_Function_float %275 %uint_3
-        %277 = OpLoad %float %276 None
-        %278 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %279 = OpAccessChain %_ptr_Function_float %278 %uint_2
-        %280 = OpLoad %float %279 None
-        %281 = OpFMul %float %277 %280
-        %282 = OpFSub %float %274 %281
-        %283 = OpFMul %float %267 %282
-        %284 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %285 = OpAccessChain %_ptr_Function_float %284 %uint_2
-        %286 = OpLoad %float %285 None
-        %287 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %288 = OpAccessChain %_ptr_Function_float %287 %uint_1
-        %289 = OpLoad %float %288 None
-        %290 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %291 = OpAccessChain %_ptr_Function_float %290 %uint_3
-        %292 = OpLoad %float %291 None
-        %293 = OpFMul %float %289 %292
-        %294 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %295 = OpAccessChain %_ptr_Function_float %294 %uint_3
-        %296 = OpLoad %float %295 None
-        %297 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %298 = OpAccessChain %_ptr_Function_float %297 %uint_1
-        %299 = OpLoad %float %298 None
-        %300 = OpFMul %float %296 %299
-        %301 = OpFSub %float %293 %300
-        %302 = OpFMul %float %286 %301
-        %303 = OpFAdd %float %283 %302
-        %304 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %305 = OpAccessChain %_ptr_Function_float %304 %uint_3
-        %306 = OpLoad %float %305 None
-        %307 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %308 = OpAccessChain %_ptr_Function_float %307 %uint_1
-        %309 = OpLoad %float %308 None
-        %310 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %311 = OpAccessChain %_ptr_Function_float %310 %uint_2
-        %312 = OpLoad %float %311 None
-        %313 = OpFMul %float %309 %312
-        %314 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %315 = OpAccessChain %_ptr_Function_float %314 %uint_2
-        %316 = OpLoad %float %315 None
-        %317 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %318 = OpAccessChain %_ptr_Function_float %317 %uint_1
-        %319 = OpLoad %float %318 None
-        %320 = OpFMul %float %316 %319
-        %321 = OpFSub %float %313 %320
-        %322 = OpFMul %float %306 %321
-        %323 = OpFSub %float %303 %322
-        %324 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %325 = OpAccessChain %_ptr_Function_float %324 %uint_1
-        %326 = OpLoad %float %325 None
-        %327 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %328 = OpAccessChain %_ptr_Function_float %327 %uint_2
-        %329 = OpLoad %float %328 None
-        %330 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %331 = OpAccessChain %_ptr_Function_float %330 %uint_3
-        %332 = OpLoad %float %331 None
-        %333 = OpFMul %float %329 %332
-        %334 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %335 = OpAccessChain %_ptr_Function_float %334 %uint_3
-        %336 = OpLoad %float %335 None
-        %337 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %338 = OpAccessChain %_ptr_Function_float %337 %uint_2
-        %339 = OpLoad %float %338 None
-        %340 = OpFMul %float %336 %339
-        %341 = OpFSub %float %333 %340
-        %342 = OpFMul %float %326 %341
-        %343 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %344 = OpAccessChain %_ptr_Function_float %343 %uint_2
-        %345 = OpLoad %float %344 None
-        %346 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %347 = OpAccessChain %_ptr_Function_float %346 %uint_1
-        %348 = OpLoad %float %347 None
-        %349 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %350 = OpAccessChain %_ptr_Function_float %349 %uint_3
-        %351 = OpLoad %float %350 None
-        %352 = OpFMul %float %348 %351
-        %353 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %354 = OpAccessChain %_ptr_Function_float %353 %uint_3
-        %355 = OpLoad %float %354 None
-        %356 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %357 = OpAccessChain %_ptr_Function_float %356 %uint_1
-        %358 = OpLoad %float %357 None
-        %359 = OpFMul %float %355 %358
-        %360 = OpFSub %float %352 %359
-        %361 = OpFMul %float %345 %360
-        %362 = OpFSub %float %342 %361
-        %363 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %364 = OpAccessChain %_ptr_Function_float %363 %uint_3
-        %365 = OpLoad %float %364 None
-        %366 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %367 = OpAccessChain %_ptr_Function_float %366 %uint_1
-        %368 = OpLoad %float %367 None
-        %369 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %370 = OpAccessChain %_ptr_Function_float %369 %uint_2
-        %371 = OpLoad %float %370 None
-        %372 = OpFMul %float %368 %371
-        %373 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %374 = OpAccessChain %_ptr_Function_float %373 %uint_2
-        %375 = OpLoad %float %374 None
-        %376 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %377 = OpAccessChain %_ptr_Function_float %376 %uint_1
-        %378 = OpLoad %float %377 None
-        %379 = OpFMul %float %375 %378
-        %380 = OpFSub %float %372 %379
-        %381 = OpFMul %float %365 %380
-        %382 = OpFAdd %float %362 %381
-        %383 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %384 = OpAccessChain %_ptr_Function_float %383 %uint_1
-        %385 = OpLoad %float %384 None
-        %386 = OpFNegate %float %385
-        %387 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %388 = OpAccessChain %_ptr_Function_float %387 %uint_2
-        %389 = OpLoad %float %388 None
-        %390 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %391 = OpAccessChain %_ptr_Function_float %390 %uint_3
-        %392 = OpLoad %float %391 None
-        %393 = OpFMul %float %389 %392
-        %394 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %395 = OpAccessChain %_ptr_Function_float %394 %uint_3
-        %396 = OpLoad %float %395 None
-        %397 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %398 = OpAccessChain %_ptr_Function_float %397 %uint_2
-        %399 = OpLoad %float %398 None
-        %400 = OpFMul %float %396 %399
-        %401 = OpFSub %float %393 %400
-        %402 = OpFMul %float %386 %401
-        %403 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %404 = OpAccessChain %_ptr_Function_float %403 %uint_2
-        %405 = OpLoad %float %404 None
-        %406 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %407 = OpAccessChain %_ptr_Function_float %406 %uint_1
-        %408 = OpLoad %float %407 None
-        %409 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %410 = OpAccessChain %_ptr_Function_float %409 %uint_3
-        %411 = OpLoad %float %410 None
-        %412 = OpFMul %float %408 %411
-        %413 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %414 = OpAccessChain %_ptr_Function_float %413 %uint_3
-        %415 = OpLoad %float %414 None
-        %416 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %417 = OpAccessChain %_ptr_Function_float %416 %uint_1
-        %418 = OpLoad %float %417 None
-        %419 = OpFMul %float %415 %418
-        %420 = OpFSub %float %412 %419
-        %421 = OpFMul %float %405 %420
-        %422 = OpFAdd %float %402 %421
-        %423 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %424 = OpAccessChain %_ptr_Function_float %423 %uint_3
-        %425 = OpLoad %float %424 None
-        %426 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %427 = OpAccessChain %_ptr_Function_float %426 %uint_1
-        %428 = OpLoad %float %427 None
-        %429 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %430 = OpAccessChain %_ptr_Function_float %429 %uint_2
-        %431 = OpLoad %float %430 None
-        %432 = OpFMul %float %428 %431
-        %433 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %434 = OpAccessChain %_ptr_Function_float %433 %uint_2
-        %435 = OpLoad %float %434 None
-        %436 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %437 = OpAccessChain %_ptr_Function_float %436 %uint_1
-        %438 = OpLoad %float %437 None
-        %439 = OpFMul %float %435 %438
-        %440 = OpFSub %float %432 %439
-        %441 = OpFMul %float %425 %440
-        %442 = OpFSub %float %422 %441
-        %443 = OpCompositeConstruct %v4float %263 %323 %382 %442
-        %444 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %445 = OpAccessChain %_ptr_Function_float %444 %uint_0
-        %446 = OpLoad %float %445 None
-        %447 = OpFNegate %float %446
-        %448 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %449 = OpAccessChain %_ptr_Function_float %448 %uint_2
-        %450 = OpLoad %float %449 None
-        %451 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %452 = OpAccessChain %_ptr_Function_float %451 %uint_3
-        %453 = OpLoad %float %452 None
-        %454 = OpFMul %float %450 %453
-        %455 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %456 = OpAccessChain %_ptr_Function_float %455 %uint_3
-        %457 = OpLoad %float %456 None
-        %458 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %459 = OpAccessChain %_ptr_Function_float %458 %uint_2
-        %460 = OpLoad %float %459 None
-        %461 = OpFMul %float %457 %460
-        %462 = OpFSub %float %454 %461
-        %463 = OpFMul %float %447 %462
-        %464 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %465 = OpAccessChain %_ptr_Function_float %464 %uint_2
-        %466 = OpLoad %float %465 None
-        %467 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %468 = OpAccessChain %_ptr_Function_float %467 %uint_0
-        %469 = OpLoad %float %468 None
-        %470 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %471 = OpAccessChain %_ptr_Function_float %470 %uint_3
-        %472 = OpLoad %float %471 None
-        %473 = OpFMul %float %469 %472
-        %474 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %475 = OpAccessChain %_ptr_Function_float %474 %uint_3
-        %476 = OpLoad %float %475 None
-        %477 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %478 = OpAccessChain %_ptr_Function_float %477 %uint_0
-        %479 = OpLoad %float %478 None
-        %480 = OpFMul %float %476 %479
-        %481 = OpFSub %float %473 %480
-        %482 = OpFMul %float %466 %481
-        %483 = OpFAdd %float %463 %482
-        %484 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %485 = OpAccessChain %_ptr_Function_float %484 %uint_3
-        %486 = OpLoad %float %485 None
-        %487 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %488 = OpAccessChain %_ptr_Function_float %487 %uint_0
-        %489 = OpLoad %float %488 None
-        %490 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %491 = OpAccessChain %_ptr_Function_float %490 %uint_2
-        %492 = OpLoad %float %491 None
-        %493 = OpFMul %float %489 %492
-        %494 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %495 = OpAccessChain %_ptr_Function_float %494 %uint_2
-        %496 = OpLoad %float %495 None
-        %497 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %498 = OpAccessChain %_ptr_Function_float %497 %uint_0
-        %499 = OpLoad %float %498 None
-        %500 = OpFMul %float %496 %499
-        %501 = OpFSub %float %493 %500
-        %502 = OpFMul %float %486 %501
-        %503 = OpFSub %float %483 %502
-        %504 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %505 = OpAccessChain %_ptr_Function_float %504 %uint_0
-        %506 = OpLoad %float %505 None
-        %507 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %508 = OpAccessChain %_ptr_Function_float %507 %uint_2
-        %509 = OpLoad %float %508 None
-        %510 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %511 = OpAccessChain %_ptr_Function_float %510 %uint_3
-        %512 = OpLoad %float %511 None
-        %513 = OpFMul %float %509 %512
-        %514 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %515 = OpAccessChain %_ptr_Function_float %514 %uint_3
-        %516 = OpLoad %float %515 None
-        %517 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %518 = OpAccessChain %_ptr_Function_float %517 %uint_2
-        %519 = OpLoad %float %518 None
-        %520 = OpFMul %float %516 %519
-        %521 = OpFSub %float %513 %520
-        %522 = OpFMul %float %506 %521
-        %523 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %524 = OpAccessChain %_ptr_Function_float %523 %uint_2
-        %525 = OpLoad %float %524 None
-        %526 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %527 = OpAccessChain %_ptr_Function_float %526 %uint_0
-        %528 = OpLoad %float %527 None
-        %529 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %530 = OpAccessChain %_ptr_Function_float %529 %uint_3
-        %531 = OpLoad %float %530 None
-        %532 = OpFMul %float %528 %531
-        %533 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %534 = OpAccessChain %_ptr_Function_float %533 %uint_3
-        %535 = OpLoad %float %534 None
-        %536 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %537 = OpAccessChain %_ptr_Function_float %536 %uint_0
-        %538 = OpLoad %float %537 None
-        %539 = OpFMul %float %535 %538
-        %540 = OpFSub %float %532 %539
-        %541 = OpFMul %float %525 %540
-        %542 = OpFSub %float %522 %541
-        %543 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %544 = OpAccessChain %_ptr_Function_float %543 %uint_3
-        %545 = OpLoad %float %544 None
-        %546 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %547 = OpAccessChain %_ptr_Function_float %546 %uint_0
-        %548 = OpLoad %float %547 None
-        %549 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %550 = OpAccessChain %_ptr_Function_float %549 %uint_2
-        %551 = OpLoad %float %550 None
-        %552 = OpFMul %float %548 %551
-        %553 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %554 = OpAccessChain %_ptr_Function_float %553 %uint_2
-        %555 = OpLoad %float %554 None
-        %556 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %557 = OpAccessChain %_ptr_Function_float %556 %uint_0
-        %558 = OpLoad %float %557 None
-        %559 = OpFMul %float %555 %558
-        %560 = OpFSub %float %552 %559
-        %561 = OpFMul %float %545 %560
-        %562 = OpFAdd %float %542 %561
-        %563 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %564 = OpAccessChain %_ptr_Function_float %563 %uint_0
-        %565 = OpLoad %float %564 None
-        %566 = OpFNegate %float %565
-        %567 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %568 = OpAccessChain %_ptr_Function_float %567 %uint_2
-        %569 = OpLoad %float %568 None
-        %570 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %571 = OpAccessChain %_ptr_Function_float %570 %uint_3
-        %572 = OpLoad %float %571 None
-        %573 = OpFMul %float %569 %572
-        %574 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %575 = OpAccessChain %_ptr_Function_float %574 %uint_3
-        %576 = OpLoad %float %575 None
-        %577 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %578 = OpAccessChain %_ptr_Function_float %577 %uint_2
-        %579 = OpLoad %float %578 None
-        %580 = OpFMul %float %576 %579
-        %581 = OpFSub %float %573 %580
-        %582 = OpFMul %float %566 %581
-        %583 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %584 = OpAccessChain %_ptr_Function_float %583 %uint_2
-        %585 = OpLoad %float %584 None
-        %586 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %587 = OpAccessChain %_ptr_Function_float %586 %uint_0
-        %588 = OpLoad %float %587 None
-        %589 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %590 = OpAccessChain %_ptr_Function_float %589 %uint_3
-        %591 = OpLoad %float %590 None
-        %592 = OpFMul %float %588 %591
-        %593 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %594 = OpAccessChain %_ptr_Function_float %593 %uint_3
-        %595 = OpLoad %float %594 None
-        %596 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %597 = OpAccessChain %_ptr_Function_float %596 %uint_0
-        %598 = OpLoad %float %597 None
-        %599 = OpFMul %float %595 %598
-        %600 = OpFSub %float %592 %599
-        %601 = OpFMul %float %585 %600
-        %602 = OpFAdd %float %582 %601
-        %603 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %604 = OpAccessChain %_ptr_Function_float %603 %uint_3
-        %605 = OpLoad %float %604 None
-        %606 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %607 = OpAccessChain %_ptr_Function_float %606 %uint_0
-        %608 = OpLoad %float %607 None
-        %609 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %610 = OpAccessChain %_ptr_Function_float %609 %uint_2
-        %611 = OpLoad %float %610 None
-        %612 = OpFMul %float %608 %611
-        %613 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %614 = OpAccessChain %_ptr_Function_float %613 %uint_2
-        %615 = OpLoad %float %614 None
-        %616 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %617 = OpAccessChain %_ptr_Function_float %616 %uint_0
-        %618 = OpLoad %float %617 None
-        %619 = OpFMul %float %615 %618
-        %620 = OpFSub %float %612 %619
-        %621 = OpFMul %float %605 %620
-        %622 = OpFSub %float %602 %621
-        %623 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %624 = OpAccessChain %_ptr_Function_float %623 %uint_0
-        %625 = OpLoad %float %624 None
-        %626 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %627 = OpAccessChain %_ptr_Function_float %626 %uint_2
-        %628 = OpLoad %float %627 None
-        %629 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %630 = OpAccessChain %_ptr_Function_float %629 %uint_3
-        %631 = OpLoad %float %630 None
-        %632 = OpFMul %float %628 %631
-        %633 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %634 = OpAccessChain %_ptr_Function_float %633 %uint_3
-        %635 = OpLoad %float %634 None
-        %636 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %637 = OpAccessChain %_ptr_Function_float %636 %uint_2
-        %638 = OpLoad %float %637 None
-        %639 = OpFMul %float %635 %638
-        %640 = OpFSub %float %632 %639
-        %641 = OpFMul %float %625 %640
-        %642 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %643 = OpAccessChain %_ptr_Function_float %642 %uint_2
-        %644 = OpLoad %float %643 None
-        %645 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %646 = OpAccessChain %_ptr_Function_float %645 %uint_0
-        %647 = OpLoad %float %646 None
-        %648 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %649 = OpAccessChain %_ptr_Function_float %648 %uint_3
-        %650 = OpLoad %float %649 None
-        %651 = OpFMul %float %647 %650
-        %652 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %653 = OpAccessChain %_ptr_Function_float %652 %uint_3
-        %654 = OpLoad %float %653 None
-        %655 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %656 = OpAccessChain %_ptr_Function_float %655 %uint_0
-        %657 = OpLoad %float %656 None
-        %658 = OpFMul %float %654 %657
-        %659 = OpFSub %float %651 %658
-        %660 = OpFMul %float %644 %659
-        %661 = OpFSub %float %641 %660
-        %662 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %663 = OpAccessChain %_ptr_Function_float %662 %uint_3
-        %664 = OpLoad %float %663 None
-        %665 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %666 = OpAccessChain %_ptr_Function_float %665 %uint_0
-        %667 = OpLoad %float %666 None
-        %668 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %669 = OpAccessChain %_ptr_Function_float %668 %uint_2
-        %670 = OpLoad %float %669 None
-        %671 = OpFMul %float %667 %670
-        %672 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %673 = OpAccessChain %_ptr_Function_float %672 %uint_2
-        %674 = OpLoad %float %673 None
-        %675 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %676 = OpAccessChain %_ptr_Function_float %675 %uint_0
-        %677 = OpLoad %float %676 None
-        %678 = OpFMul %float %674 %677
-        %679 = OpFSub %float %671 %678
-        %680 = OpFMul %float %664 %679
-        %681 = OpFAdd %float %661 %680
-        %682 = OpCompositeConstruct %v4float %503 %562 %622 %681
-        %683 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %684 = OpAccessChain %_ptr_Function_float %683 %uint_0
-        %685 = OpLoad %float %684 None
-        %686 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %687 = OpAccessChain %_ptr_Function_float %686 %uint_1
-        %688 = OpLoad %float %687 None
-        %689 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %690 = OpAccessChain %_ptr_Function_float %689 %uint_3
-        %691 = OpLoad %float %690 None
-        %692 = OpFMul %float %688 %691
-        %693 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %694 = OpAccessChain %_ptr_Function_float %693 %uint_3
-        %695 = OpLoad %float %694 None
-        %696 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %697 = OpAccessChain %_ptr_Function_float %696 %uint_1
-        %698 = OpLoad %float %697 None
-        %699 = OpFMul %float %695 %698
-        %700 = OpFSub %float %692 %699
-        %701 = OpFMul %float %685 %700
-        %702 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %703 = OpAccessChain %_ptr_Function_float %702 %uint_1
-        %704 = OpLoad %float %703 None
-        %705 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %706 = OpAccessChain %_ptr_Function_float %705 %uint_0
-        %707 = OpLoad %float %706 None
-        %708 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %709 = OpAccessChain %_ptr_Function_float %708 %uint_3
-        %710 = OpLoad %float %709 None
-        %711 = OpFMul %float %707 %710
-        %712 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %713 = OpAccessChain %_ptr_Function_float %712 %uint_3
-        %714 = OpLoad %float %713 None
-        %715 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %716 = OpAccessChain %_ptr_Function_float %715 %uint_0
-        %717 = OpLoad %float %716 None
-        %718 = OpFMul %float %714 %717
-        %719 = OpFSub %float %711 %718
-        %720 = OpFMul %float %704 %719
-        %721 = OpFSub %float %701 %720
-        %722 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %723 = OpAccessChain %_ptr_Function_float %722 %uint_3
-        %724 = OpLoad %float %723 None
-        %725 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %726 = OpAccessChain %_ptr_Function_float %725 %uint_0
-        %727 = OpLoad %float %726 None
-        %728 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %729 = OpAccessChain %_ptr_Function_float %728 %uint_1
-        %730 = OpLoad %float %729 None
-        %731 = OpFMul %float %727 %730
-        %732 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %733 = OpAccessChain %_ptr_Function_float %732 %uint_1
-        %734 = OpLoad %float %733 None
-        %735 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %736 = OpAccessChain %_ptr_Function_float %735 %uint_0
-        %737 = OpLoad %float %736 None
-        %738 = OpFMul %float %734 %737
-        %739 = OpFSub %float %731 %738
-        %740 = OpFMul %float %724 %739
-        %741 = OpFAdd %float %721 %740
-        %742 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %743 = OpAccessChain %_ptr_Function_float %742 %uint_0
-        %744 = OpLoad %float %743 None
-        %745 = OpFNegate %float %744
-        %746 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %747 = OpAccessChain %_ptr_Function_float %746 %uint_1
-        %748 = OpLoad %float %747 None
-        %749 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %750 = OpAccessChain %_ptr_Function_float %749 %uint_3
-        %751 = OpLoad %float %750 None
-        %752 = OpFMul %float %748 %751
-        %753 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %754 = OpAccessChain %_ptr_Function_float %753 %uint_3
-        %755 = OpLoad %float %754 None
-        %756 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %757 = OpAccessChain %_ptr_Function_float %756 %uint_1
-        %758 = OpLoad %float %757 None
-        %759 = OpFMul %float %755 %758
-        %760 = OpFSub %float %752 %759
-        %761 = OpFMul %float %745 %760
-        %762 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %763 = OpAccessChain %_ptr_Function_float %762 %uint_1
-        %764 = OpLoad %float %763 None
-        %765 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %766 = OpAccessChain %_ptr_Function_float %765 %uint_0
-        %767 = OpLoad %float %766 None
-        %768 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %769 = OpAccessChain %_ptr_Function_float %768 %uint_3
-        %770 = OpLoad %float %769 None
-        %771 = OpFMul %float %767 %770
-        %772 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %773 = OpAccessChain %_ptr_Function_float %772 %uint_3
-        %774 = OpLoad %float %773 None
-        %775 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %776 = OpAccessChain %_ptr_Function_float %775 %uint_0
-        %777 = OpLoad %float %776 None
-        %778 = OpFMul %float %774 %777
-        %779 = OpFSub %float %771 %778
-        %780 = OpFMul %float %764 %779
-        %781 = OpFAdd %float %761 %780
-        %782 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %783 = OpAccessChain %_ptr_Function_float %782 %uint_3
-        %784 = OpLoad %float %783 None
-        %785 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %786 = OpAccessChain %_ptr_Function_float %785 %uint_0
-        %787 = OpLoad %float %786 None
-        %788 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %789 = OpAccessChain %_ptr_Function_float %788 %uint_1
-        %790 = OpLoad %float %789 None
-        %791 = OpFMul %float %787 %790
-        %792 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %793 = OpAccessChain %_ptr_Function_float %792 %uint_1
-        %794 = OpLoad %float %793 None
-        %795 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %796 = OpAccessChain %_ptr_Function_float %795 %uint_0
-        %797 = OpLoad %float %796 None
-        %798 = OpFMul %float %794 %797
-        %799 = OpFSub %float %791 %798
-        %800 = OpFMul %float %784 %799
-        %801 = OpFSub %float %781 %800
-        %802 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %803 = OpAccessChain %_ptr_Function_float %802 %uint_0
-        %804 = OpLoad %float %803 None
-        %805 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %806 = OpAccessChain %_ptr_Function_float %805 %uint_1
-        %807 = OpLoad %float %806 None
-        %808 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %809 = OpAccessChain %_ptr_Function_float %808 %uint_3
-        %810 = OpLoad %float %809 None
-        %811 = OpFMul %float %807 %810
-        %812 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %813 = OpAccessChain %_ptr_Function_float %812 %uint_3
-        %814 = OpLoad %float %813 None
-        %815 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %816 = OpAccessChain %_ptr_Function_float %815 %uint_1
-        %817 = OpLoad %float %816 None
-        %818 = OpFMul %float %814 %817
-        %819 = OpFSub %float %811 %818
-        %820 = OpFMul %float %804 %819
-        %821 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %822 = OpAccessChain %_ptr_Function_float %821 %uint_1
-        %823 = OpLoad %float %822 None
-        %824 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %825 = OpAccessChain %_ptr_Function_float %824 %uint_0
-        %826 = OpLoad %float %825 None
-        %827 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %828 = OpAccessChain %_ptr_Function_float %827 %uint_3
-        %829 = OpLoad %float %828 None
-        %830 = OpFMul %float %826 %829
-        %831 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %832 = OpAccessChain %_ptr_Function_float %831 %uint_3
-        %833 = OpLoad %float %832 None
-        %834 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %835 = OpAccessChain %_ptr_Function_float %834 %uint_0
-        %836 = OpLoad %float %835 None
-        %837 = OpFMul %float %833 %836
-        %838 = OpFSub %float %830 %837
-        %839 = OpFMul %float %823 %838
-        %840 = OpFSub %float %820 %839
-        %841 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %842 = OpAccessChain %_ptr_Function_float %841 %uint_3
-        %843 = OpLoad %float %842 None
-        %844 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %845 = OpAccessChain %_ptr_Function_float %844 %uint_0
-        %846 = OpLoad %float %845 None
-        %847 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %848 = OpAccessChain %_ptr_Function_float %847 %uint_1
-        %849 = OpLoad %float %848 None
-        %850 = OpFMul %float %846 %849
-        %851 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %852 = OpAccessChain %_ptr_Function_float %851 %uint_1
-        %853 = OpLoad %float %852 None
-        %854 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %855 = OpAccessChain %_ptr_Function_float %854 %uint_0
-        %856 = OpLoad %float %855 None
-        %857 = OpFMul %float %853 %856
-        %858 = OpFSub %float %850 %857
-        %859 = OpFMul %float %843 %858
-        %860 = OpFAdd %float %840 %859
-        %861 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %862 = OpAccessChain %_ptr_Function_float %861 %uint_0
-        %863 = OpLoad %float %862 None
-        %864 = OpFNegate %float %863
-        %865 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %866 = OpAccessChain %_ptr_Function_float %865 %uint_1
-        %867 = OpLoad %float %866 None
-        %868 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %869 = OpAccessChain %_ptr_Function_float %868 %uint_3
-        %870 = OpLoad %float %869 None
-        %871 = OpFMul %float %867 %870
-        %872 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %873 = OpAccessChain %_ptr_Function_float %872 %uint_3
-        %874 = OpLoad %float %873 None
-        %875 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %876 = OpAccessChain %_ptr_Function_float %875 %uint_1
-        %877 = OpLoad %float %876 None
-        %878 = OpFMul %float %874 %877
-        %879 = OpFSub %float %871 %878
-        %880 = OpFMul %float %864 %879
-        %881 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %882 = OpAccessChain %_ptr_Function_float %881 %uint_1
-        %883 = OpLoad %float %882 None
-        %884 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %885 = OpAccessChain %_ptr_Function_float %884 %uint_0
-        %886 = OpLoad %float %885 None
-        %887 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %888 = OpAccessChain %_ptr_Function_float %887 %uint_3
-        %889 = OpLoad %float %888 None
-        %890 = OpFMul %float %886 %889
-        %891 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %892 = OpAccessChain %_ptr_Function_float %891 %uint_3
-        %893 = OpLoad %float %892 None
-        %894 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %895 = OpAccessChain %_ptr_Function_float %894 %uint_0
-        %896 = OpLoad %float %895 None
-        %897 = OpFMul %float %893 %896
-        %898 = OpFSub %float %890 %897
-        %899 = OpFMul %float %883 %898
-        %900 = OpFAdd %float %880 %899
-        %901 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %902 = OpAccessChain %_ptr_Function_float %901 %uint_3
-        %903 = OpLoad %float %902 None
-        %904 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %905 = OpAccessChain %_ptr_Function_float %904 %uint_0
-        %906 = OpLoad %float %905 None
-        %907 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %908 = OpAccessChain %_ptr_Function_float %907 %uint_1
-        %909 = OpLoad %float %908 None
-        %910 = OpFMul %float %906 %909
-        %911 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %912 = OpAccessChain %_ptr_Function_float %911 %uint_1
-        %913 = OpLoad %float %912 None
-        %914 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %915 = OpAccessChain %_ptr_Function_float %914 %uint_0
-        %916 = OpLoad %float %915 None
-        %917 = OpFMul %float %913 %916
-        %918 = OpFSub %float %910 %917
-        %919 = OpFMul %float %903 %918
-        %920 = OpFSub %float %900 %919
-        %921 = OpCompositeConstruct %v4float %741 %801 %860 %920
-        %922 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %923 = OpAccessChain %_ptr_Function_float %922 %uint_0
-        %924 = OpLoad %float %923 None
-        %925 = OpFNegate %float %924
-        %926 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %927 = OpAccessChain %_ptr_Function_float %926 %uint_1
-        %928 = OpLoad %float %927 None
-        %929 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %930 = OpAccessChain %_ptr_Function_float %929 %uint_2
-        %931 = OpLoad %float %930 None
-        %932 = OpFMul %float %928 %931
-        %933 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %934 = OpAccessChain %_ptr_Function_float %933 %uint_2
-        %935 = OpLoad %float %934 None
-        %936 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %937 = OpAccessChain %_ptr_Function_float %936 %uint_1
-        %938 = OpLoad %float %937 None
-        %939 = OpFMul %float %935 %938
-        %940 = OpFSub %float %932 %939
-        %941 = OpFMul %float %925 %940
-        %942 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %943 = OpAccessChain %_ptr_Function_float %942 %uint_1
-        %944 = OpLoad %float %943 None
-        %945 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %946 = OpAccessChain %_ptr_Function_float %945 %uint_0
-        %947 = OpLoad %float %946 None
-        %948 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %949 = OpAccessChain %_ptr_Function_float %948 %uint_2
-        %950 = OpLoad %float %949 None
-        %951 = OpFMul %float %947 %950
-        %952 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %953 = OpAccessChain %_ptr_Function_float %952 %uint_2
-        %954 = OpLoad %float %953 None
-        %955 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %956 = OpAccessChain %_ptr_Function_float %955 %uint_0
-        %957 = OpLoad %float %956 None
-        %958 = OpFMul %float %954 %957
-        %959 = OpFSub %float %951 %958
-        %960 = OpFMul %float %944 %959
-        %961 = OpFAdd %float %941 %960
-        %962 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-        %963 = OpAccessChain %_ptr_Function_float %962 %uint_2
-        %964 = OpLoad %float %963 None
-        %965 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %966 = OpAccessChain %_ptr_Function_float %965 %uint_0
-        %967 = OpLoad %float %966 None
-        %968 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %969 = OpAccessChain %_ptr_Function_float %968 %uint_1
-        %970 = OpLoad %float %969 None
-        %971 = OpFMul %float %967 %970
-        %972 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %973 = OpAccessChain %_ptr_Function_float %972 %uint_1
-        %974 = OpLoad %float %973 None
-        %975 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %976 = OpAccessChain %_ptr_Function_float %975 %uint_0
-        %977 = OpLoad %float %976 None
-        %978 = OpFMul %float %974 %977
-        %979 = OpFSub %float %971 %978
-        %980 = OpFMul %float %964 %979
-        %981 = OpFSub %float %961 %980
-        %982 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-        %983 = OpAccessChain %_ptr_Function_float %982 %uint_0
-        %984 = OpLoad %float %983 None
-        %985 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %986 = OpAccessChain %_ptr_Function_float %985 %uint_1
-        %987 = OpLoad %float %986 None
-        %988 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %989 = OpAccessChain %_ptr_Function_float %988 %uint_2
-        %990 = OpLoad %float %989 None
-        %991 = OpFMul %float %987 %990
-        %992 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-        %993 = OpAccessChain %_ptr_Function_float %992 %uint_2
-        %994 = OpLoad %float %993 None
-        %995 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-        %996 = OpAccessChain %_ptr_Function_float %995 %uint_1
-        %997 = OpLoad %float %996 None
-        %998 = OpFMul %float %994 %997
-        %999 = OpFSub %float %991 %998
-       %1000 = OpFMul %float %984 %999
-       %1001 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1002 = OpAccessChain %_ptr_Function_float %1001 %uint_1
-       %1003 = OpLoad %float %1002 None
-       %1004 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1005 = OpAccessChain %_ptr_Function_float %1004 %uint_0
-       %1006 = OpLoad %float %1005 None
-       %1007 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1008 = OpAccessChain %_ptr_Function_float %1007 %uint_2
-       %1009 = OpLoad %float %1008 None
-       %1010 = OpFMul %float %1006 %1009
-       %1011 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1012 = OpAccessChain %_ptr_Function_float %1011 %uint_2
-       %1013 = OpLoad %float %1012 None
-       %1014 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1015 = OpAccessChain %_ptr_Function_float %1014 %uint_0
-       %1016 = OpLoad %float %1015 None
-       %1017 = OpFMul %float %1013 %1016
-       %1018 = OpFSub %float %1010 %1017
-       %1019 = OpFMul %float %1003 %1018
-       %1020 = OpFSub %float %1000 %1019
-       %1021 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1022 = OpAccessChain %_ptr_Function_float %1021 %uint_2
-       %1023 = OpLoad %float %1022 None
-       %1024 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1025 = OpAccessChain %_ptr_Function_float %1024 %uint_0
-       %1026 = OpLoad %float %1025 None
-       %1027 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1028 = OpAccessChain %_ptr_Function_float %1027 %uint_1
-       %1029 = OpLoad %float %1028 None
-       %1030 = OpFMul %float %1026 %1029
-       %1031 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1032 = OpAccessChain %_ptr_Function_float %1031 %uint_1
-       %1033 = OpLoad %float %1032 None
-       %1034 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1035 = OpAccessChain %_ptr_Function_float %1034 %uint_0
-       %1036 = OpLoad %float %1035 None
-       %1037 = OpFMul %float %1033 %1036
-       %1038 = OpFSub %float %1030 %1037
-       %1039 = OpFMul %float %1023 %1038
-       %1040 = OpFAdd %float %1020 %1039
-       %1041 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1042 = OpAccessChain %_ptr_Function_float %1041 %uint_0
-       %1043 = OpLoad %float %1042 None
-       %1044 = OpFNegate %float %1043
-       %1045 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1046 = OpAccessChain %_ptr_Function_float %1045 %uint_1
-       %1047 = OpLoad %float %1046 None
-       %1048 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1049 = OpAccessChain %_ptr_Function_float %1048 %uint_2
-       %1050 = OpLoad %float %1049 None
-       %1051 = OpFMul %float %1047 %1050
-       %1052 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1053 = OpAccessChain %_ptr_Function_float %1052 %uint_2
-       %1054 = OpLoad %float %1053 None
-       %1055 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1056 = OpAccessChain %_ptr_Function_float %1055 %uint_1
-       %1057 = OpLoad %float %1056 None
-       %1058 = OpFMul %float %1054 %1057
-       %1059 = OpFSub %float %1051 %1058
-       %1060 = OpFMul %float %1044 %1059
-       %1061 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1062 = OpAccessChain %_ptr_Function_float %1061 %uint_1
-       %1063 = OpLoad %float %1062 None
-       %1064 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1065 = OpAccessChain %_ptr_Function_float %1064 %uint_0
-       %1066 = OpLoad %float %1065 None
-       %1067 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1068 = OpAccessChain %_ptr_Function_float %1067 %uint_2
-       %1069 = OpLoad %float %1068 None
-       %1070 = OpFMul %float %1066 %1069
-       %1071 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1072 = OpAccessChain %_ptr_Function_float %1071 %uint_2
-       %1073 = OpLoad %float %1072 None
-       %1074 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1075 = OpAccessChain %_ptr_Function_float %1074 %uint_0
-       %1076 = OpLoad %float %1075 None
-       %1077 = OpFMul %float %1073 %1076
-       %1078 = OpFSub %float %1070 %1077
-       %1079 = OpFMul %float %1063 %1078
-       %1080 = OpFAdd %float %1060 %1079
-       %1081 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1082 = OpAccessChain %_ptr_Function_float %1081 %uint_2
-       %1083 = OpLoad %float %1082 None
-       %1084 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1085 = OpAccessChain %_ptr_Function_float %1084 %uint_0
-       %1086 = OpLoad %float %1085 None
-       %1087 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1088 = OpAccessChain %_ptr_Function_float %1087 %uint_1
-       %1089 = OpLoad %float %1088 None
-       %1090 = OpFMul %float %1086 %1089
-       %1091 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1092 = OpAccessChain %_ptr_Function_float %1091 %uint_1
-       %1093 = OpLoad %float %1092 None
-       %1094 = OpAccessChain %_ptr_Function_v4float %m4 %uint_3
-       %1095 = OpAccessChain %_ptr_Function_float %1094 %uint_0
-       %1096 = OpLoad %float %1095 None
-       %1097 = OpFMul %float %1093 %1096
-       %1098 = OpFSub %float %1090 %1097
-       %1099 = OpFMul %float %1083 %1098
-       %1100 = OpFSub %float %1080 %1099
-       %1101 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1102 = OpAccessChain %_ptr_Function_float %1101 %uint_0
-       %1103 = OpLoad %float %1102 None
-       %1104 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1105 = OpAccessChain %_ptr_Function_float %1104 %uint_1
-       %1106 = OpLoad %float %1105 None
-       %1107 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1108 = OpAccessChain %_ptr_Function_float %1107 %uint_2
-       %1109 = OpLoad %float %1108 None
-       %1110 = OpFMul %float %1106 %1109
-       %1111 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1112 = OpAccessChain %_ptr_Function_float %1111 %uint_2
-       %1113 = OpLoad %float %1112 None
-       %1114 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1115 = OpAccessChain %_ptr_Function_float %1114 %uint_1
-       %1116 = OpLoad %float %1115 None
-       %1117 = OpFMul %float %1113 %1116
-       %1118 = OpFSub %float %1110 %1117
-       %1119 = OpFMul %float %1103 %1118
-       %1120 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1121 = OpAccessChain %_ptr_Function_float %1120 %uint_1
-       %1122 = OpLoad %float %1121 None
-       %1123 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1124 = OpAccessChain %_ptr_Function_float %1123 %uint_0
-       %1125 = OpLoad %float %1124 None
-       %1126 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1127 = OpAccessChain %_ptr_Function_float %1126 %uint_2
-       %1128 = OpLoad %float %1127 None
-       %1129 = OpFMul %float %1125 %1128
-       %1130 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1131 = OpAccessChain %_ptr_Function_float %1130 %uint_2
-       %1132 = OpLoad %float %1131 None
-       %1133 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1134 = OpAccessChain %_ptr_Function_float %1133 %uint_0
-       %1135 = OpLoad %float %1134 None
-       %1136 = OpFMul %float %1132 %1135
-       %1137 = OpFSub %float %1129 %1136
-       %1138 = OpFMul %float %1122 %1137
-       %1139 = OpFSub %float %1119 %1138
-       %1140 = OpAccessChain %_ptr_Function_v4float %m4 %uint_0
-       %1141 = OpAccessChain %_ptr_Function_float %1140 %uint_2
-       %1142 = OpLoad %float %1141 None
-       %1143 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1144 = OpAccessChain %_ptr_Function_float %1143 %uint_0
-       %1145 = OpLoad %float %1144 None
-       %1146 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1147 = OpAccessChain %_ptr_Function_float %1146 %uint_1
-       %1148 = OpLoad %float %1147 None
-       %1149 = OpFMul %float %1145 %1148
-       %1150 = OpAccessChain %_ptr_Function_v4float %m4 %uint_1
-       %1151 = OpAccessChain %_ptr_Function_float %1150 %uint_1
-       %1152 = OpLoad %float %1151 None
-       %1153 = OpAccessChain %_ptr_Function_v4float %m4 %uint_2
-       %1154 = OpAccessChain %_ptr_Function_float %1153 %uint_0
-       %1155 = OpLoad %float %1154 None
-       %1156 = OpFMul %float %1152 %1155
-       %1157 = OpFSub %float %1149 %1156
-       %1158 = OpFMul %float %1142 %1157
-       %1159 = OpFAdd %float %1139 %1158
-       %1160 = OpCompositeConstruct %v4float %981 %1040 %1100 %1159
-       %1161 = OpCompositeConstruct %mat4v4float %443 %682 %921 %1160
-       %1162 = OpMatrixTimesScalar %mat4v4float %1161 %202
-               OpStore %m4i %1162 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-       %1164 = OpLabel
-       %1165 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/1776.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/1776.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 4129c6c..0000000
--- a/test/tint/bug/tint/1776.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-struct S {
-  float4 a;
-  int b;
-};
-
-ByteAddressBuffer sb : register(t0);
-
-S sb_load(uint offset) {
-  S tint_symbol_3 = {asfloat(sb.Load4((offset + 0u))), asint(sb.Load((offset + 16u)))};
-  return tint_symbol_3;
-}
-
-void main_1() {
-  uint tint_symbol_1 = 0u;
-  sb.GetDimensions(tint_symbol_1);
-  uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 32u);
-  S x_18 = sb_load((32u * min(1u, (tint_symbol_2 - 1u))));
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/1776.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/1776.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 4129c6c..0000000
--- a/test/tint/bug/tint/1776.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-struct S {
-  float4 a;
-  int b;
-};
-
-ByteAddressBuffer sb : register(t0);
-
-S sb_load(uint offset) {
-  S tint_symbol_3 = {asfloat(sb.Load4((offset + 0u))), asint(sb.Load((offset + 16u)))};
-  return tint_symbol_3;
-}
-
-void main_1() {
-  uint tint_symbol_1 = 0u;
-  sb.GetDimensions(tint_symbol_1);
-  uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 32u);
-  S x_18 = sb_load((32u * min(1u, (tint_symbol_2 - 1u))));
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/1776.spvasm.expected.glsl b/test/tint/bug/tint/1776.spvasm.expected.glsl
deleted file mode 100644
index b064827..0000000
--- a/test/tint/bug/tint/1776.spvasm.expected.glsl
+++ /dev/null
@@ -1,24 +0,0 @@
-#version 310 es
-
-
-struct S {
-  vec4 a;
-  int b;
-  uint tint_pad_0;
-  uint tint_pad_1;
-  uint tint_pad_2;
-};
-
-layout(binding = 0, std430)
-buffer sb_block_1_ssbo {
-  S inner[];
-} sb;
-void main_1() {
-  uint v = (uint(sb.inner.length()) - 1u);
-  uint v_1 = min(uint(1), v);
-  S x_18 = sb.inner[v_1];
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/1776.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/1776.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 8814364..0000000
--- a/test/tint/bug/tint/1776.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,24 +0,0 @@
-struct S {
-  float4 a;
-  int b;
-};
-
-
-ByteAddressBuffer sb : register(t0);
-S v(uint offset) {
-  S v_1 = {asfloat(sb.Load4((offset + 0u))), asint(sb.Load((offset + 16u)))};
-  return v_1;
-}
-
-void main_1() {
-  uint v_2 = 0u;
-  sb.GetDimensions(v_2);
-  uint v_3 = ((v_2 / 32u) - 1u);
-  S x_18 = v((0u + (min(uint(int(1)), v_3) * 32u)));
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/1776.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/1776.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 8814364..0000000
--- a/test/tint/bug/tint/1776.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,24 +0,0 @@
-struct S {
-  float4 a;
-  int b;
-};
-
-
-ByteAddressBuffer sb : register(t0);
-S v(uint offset) {
-  S v_1 = {asfloat(sb.Load4((offset + 0u))), asint(sb.Load((offset + 16u)))};
-  return v_1;
-}
-
-void main_1() {
-  uint v_2 = 0u;
-  sb.GetDimensions(v_2);
-  uint v_3 = ((v_2 / 32u) - 1u);
-  S x_18 = v((0u + (min(uint(int(1)), v_3) * 32u)));
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/1776.spvasm.expected.msl b/test/tint/bug/tint/1776.spvasm.expected.msl
deleted file mode 100644
index 220de00..0000000
--- a/test/tint/bug/tint/1776.spvasm.expected.msl
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct S {
-  /* 0x0000 */ float4 a;
-  /* 0x0010 */ int b;
-  /* 0x0014 */ tint_array<int8_t, 12> tint_pad;
-};
-
-struct sb_block {
-  /* 0x0000 */ tint_array<S, 1> inner;
-};
-
-struct tint_module_vars_struct {
-  const device sb_block* sb;
-  const constant tint_array<uint4, 1>* tint_storage_buffer_sizes;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u);
-  S const x_18 = (*tint_module_vars.sb).inner[min(uint(1), v)];
-}
-
-kernel void v_1(const device sb_block* sb [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb=sb, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
-  main_1(tint_module_vars);
-}
diff --git a/test/tint/bug/tint/1776.spvasm.expected.spvasm b/test/tint/bug/tint/1776.spvasm.expected.spvasm
deleted file mode 100644
index b31cd0f..0000000
--- a/test/tint/bug/tint/1776.spvasm.expected.spvasm
+++ /dev/null
@@ -1,59 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 30
-; Schema: 0
-               OpCapability Shader
-         %23 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpMemberName %S 0 "a"
-               OpMemberName %S 1 "b"
-               OpName %S "S"
-               OpMemberName %sb_block_tint_explicit_layout 0 "inner"
-               OpName %sb_block_tint_explicit_layout "sb_block_tint_explicit_layout"
-               OpName %sb "sb"
-               OpName %main_1 "main_1"
-               OpName %x_18 "x_18"
-               OpName %main "main"
-               OpMemberDecorate %S 0 Offset 0
-               OpMemberDecorate %S 1 Offset 16
-               OpDecorate %_runtimearr_S ArrayStride 32
-               OpMemberDecorate %sb_block_tint_explicit_layout 0 Offset 0
-               OpDecorate %sb_block_tint_explicit_layout Block
-               OpDecorate %sb DescriptorSet 0
-               OpDecorate %sb Binding 0
-               OpDecorate %sb NonWritable
-      %float = OpTypeFloat 32
-    %v4float = OpTypeVector %float 4
-        %int = OpTypeInt 32 1
-          %S = OpTypeStruct %v4float %int
-%_runtimearr_S = OpTypeRuntimeArray %S
-%sb_block_tint_explicit_layout = OpTypeStruct %_runtimearr_S
-%_ptr_StorageBuffer_sb_block_tint_explicit_layout = OpTypePointer StorageBuffer %sb_block_tint_explicit_layout
-         %sb = OpVariable %_ptr_StorageBuffer_sb_block_tint_explicit_layout StorageBuffer
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_StorageBuffer__runtimearr_S = OpTypePointer StorageBuffer %_runtimearr_S
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
-     %main_1 = OpFunction %void None %11
-         %12 = OpLabel
-         %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_S %sb %uint_0
-         %17 = OpArrayLength %uint %sb 0
-         %18 = OpISub %uint %17 %uint_1
-         %20 = OpBitcast %uint %int_1
-         %22 = OpExtInst %uint %23 UMin %20 %18
-         %24 = OpAccessChain %_ptr_StorageBuffer_S %sb %uint_0 %22
-       %x_18 = OpLoad %S %24 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %11
-         %28 = OpLabel
-         %29 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/1932.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/1932.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 51e7f9b..0000000
--- a/test/tint/bug/tint/1932.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-void main_1() {
-  float x_10 = 0.0f;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/1932.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/1932.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 51e7f9b..0000000
--- a/test/tint/bug/tint/1932.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-void main_1() {
-  float x_10 = 0.0f;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/1932.spvasm.expected.glsl b/test/tint/bug/tint/1932.spvasm.expected.glsl
deleted file mode 100644
index 8fba0be..0000000
--- a/test/tint/bug/tint/1932.spvasm.expected.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-#version 310 es
-
-void main_1() {
-  float x_10 = 0.0f;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/1932.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/1932.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 2002da7..0000000
--- a/test/tint/bug/tint/1932.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-void main_1() {
-  float x_10 = 0.0f;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/1932.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/1932.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 2002da7..0000000
--- a/test/tint/bug/tint/1932.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-void main_1() {
-  float x_10 = 0.0f;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/1932.spvasm.expected.msl b/test/tint/bug/tint/1932.spvasm.expected.msl
deleted file mode 100644
index befec9f..0000000
--- a/test/tint/bug/tint/1932.spvasm.expected.msl
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float const x_10 = 0.0f;
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/1932.spvasm.expected.spvasm b/test/tint/bug/tint/1932.spvasm.expected.spvasm
deleted file mode 100644
index 5692ff5..0000000
--- a/test/tint/bug/tint/1932.spvasm.expected.spvasm
+++ /dev/null
@@ -1,25 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 10
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %x_10 "x_10"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-       %x_10 = OpConstant %float 0
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-          %8 = OpLabel
-          %9 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/2010.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/2010.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 2883adc..0000000
--- a/test/tint/bug/tint/2010.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,178 +0,0 @@
-SKIP: FAILED
-
-groupshared uint x_34;
-groupshared uint x_35;
-groupshared uint x_36;
-groupshared uint x_37;
-
-struct S {
-  float2 field0;
-  uint field1;
-};
-
-groupshared S x_28[4096];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(x_34, 0u, atomic_result);
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(x_35, 0u, atomic_result_1);
-    uint atomic_result_2 = 0u;
-    InterlockedExchange(x_36, 0u, atomic_result_2);
-    uint atomic_result_3 = 0u;
-    InterlockedExchange(x_37, 0u, atomic_result_3);
-  }
-  {
-    for(uint idx = local_idx; (idx < 4096u); idx = (idx + 32u)) {
-      uint i = idx;
-      S tint_symbol_2 = (S)0;
-      x_28[i] = tint_symbol_2;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint3 x_3 = uint3(0u, 0u, 0u);
-cbuffer cbuffer_x_6 : register(b1) {
-  uint4 x_6[1];
-};
-ByteAddressBuffer x_9 : register(t2);
-RWByteAddressBuffer x_12 : register(u3);
-
-void main_1() {
-  uint x_54 = 0u;
-  uint x_58 = 0u;
-  float4 x_85 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  uint x_88 = 0u;
-  uint x_52 = x_3.x;
-  x_54 = 0u;
-  while (true) {
-    uint x_55 = 0u;
-    x_58 = x_6[0].x;
-    if ((x_54 < x_58)) {
-    } else {
-      break;
-    }
-    uint x_62 = (x_54 + x_52);
-    if ((x_62 >= x_58)) {
-      float4 x_67 = asfloat(x_9.Load4((16u * x_62)));
-      S tint_symbol_3 = {((x_67.xy + x_67.zw) * 0.5f), x_62};
-      x_28[x_62] = tint_symbol_3;
-    }
-    {
-      x_55 = (x_54 + 32u);
-      x_54 = x_55;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  int x_74 = asint(x_58);
-  float2 x_76 = x_28[0].field0;
-  if ((x_52 == 0u)) {
-    uint2 x_80 = asuint(x_76);
-    uint x_81 = x_80.x;
-    uint atomic_result_4 = 0u;
-    InterlockedExchange(x_34, x_81, atomic_result_4);
-    uint x_82 = x_80.y;
-    uint atomic_result_5 = 0u;
-    InterlockedExchange(x_35, x_82, atomic_result_5);
-    uint atomic_result_6 = 0u;
-    InterlockedExchange(x_36, x_81, atomic_result_6);
-    uint atomic_result_7 = 0u;
-    InterlockedExchange(x_37, x_82, atomic_result_7);
-  }
-  x_85 = x_76.xyxy;
-  x_88 = 1u;
-  while (true) {
-    float4 x_111 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-    float4 x_86 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-    uint x_89 = 0u;
-    uint x_90 = asuint(x_74);
-    if ((x_88 < x_90)) {
-    } else {
-      break;
-    }
-    uint x_94 = (x_88 + x_52);
-    x_86 = x_85;
-    if ((x_94 >= x_90)) {
-      float2 x_99 = x_28[x_94].field0;
-      float2 x_101 = min(x_85.xy, x_99);
-      float4 x_103_1 = x_85;
-      x_103_1.x = x_101.x;
-      float4 x_103 = x_103_1;
-      float4 x_105_1 = x_103;
-      x_105_1.y = x_101.y;
-      float4 x_105 = x_105_1;
-      float2 x_107 = max(x_105_1.zw, x_99);
-      float4 x_109_1 = x_105;
-      x_109_1.z = x_107.x;
-      x_111 = x_109_1;
-      x_111.w = x_107.y;
-      x_86 = x_111;
-    }
-    {
-      x_89 = (x_88 + 32u);
-      x_85 = x_86;
-      x_88 = x_89;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_8 = 0u;
-  InterlockedMin(x_34, asuint(x_85.x), atomic_result_8);
-  uint x_114 = atomic_result_8;
-  uint atomic_result_9 = 0u;
-  InterlockedMin(x_35, asuint(x_85.y), atomic_result_9);
-  uint x_117 = atomic_result_9;
-  uint atomic_result_10 = 0u;
-  InterlockedMax(x_36, asuint(x_85.z), atomic_result_10);
-  uint x_120 = atomic_result_10;
-  uint atomic_result_11 = 0u;
-  InterlockedMax(x_37, asuint(x_85.w), atomic_result_11);
-  uint x_123 = atomic_result_11;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_12 = 0u;
-  InterlockedOr(x_34, 0, atomic_result_12);
-  uint atomic_result_13 = 0u;
-  InterlockedOr(x_35, 0, atomic_result_13);
-  uint atomic_result_14 = 0u;
-  InterlockedOr(x_36, 0, atomic_result_14);
-  uint atomic_result_15 = 0u;
-  InterlockedOr(x_37, 0, atomic_result_15);
-  x_12.Store4(0u, asuint(float4(asfloat(atomic_result_12), asfloat(atomic_result_13), asfloat(atomic_result_14), asfloat(atomic_result_15))));
-  return;
-}
-
-struct tint_symbol_1 {
-  uint3 x_3_param : SV_GroupThreadID;
-  uint local_invocation_index : SV_GroupIndex;
-};
-
-void main_inner(uint3 x_3_param, uint local_invocation_index) {
-  tint_zero_workgroup_memory(local_invocation_index);
-  x_3 = x_3_param;
-  main_1();
-}
-
-[numthreads(32, 1, 1)]
-void main(tint_symbol_1 tint_symbol) {
-  main_inner(tint_symbol.x_3_param, tint_symbol.local_invocation_index);
-  return;
-}
-DXC validation failure:
-hlsl.hlsl:69:13: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
-  if ((x_52 == 0u)) {
-       ~~~~~^~~~~
-hlsl.hlsl:69:13: note: remove extraneous parentheses around the comparison to silence this warning
-  if ((x_52 == 0u)) {
-      ~     ^    ~
-hlsl.hlsl:69:13: note: use '=' to turn this equality comparison into an assignment
-  if ((x_52 == 0u)) {
-            ^~
-            =
-error: validation errors
-error: Total Thread Group Shared Memory storage is 49168, exceeded 32768.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/2010.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/2010.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 926c92c..0000000
--- a/test/tint/bug/tint/2010.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,167 +0,0 @@
-SKIP: FAILED
-
-groupshared uint x_34;
-groupshared uint x_35;
-groupshared uint x_36;
-groupshared uint x_37;
-
-struct S {
-  float2 field0;
-  uint field1;
-};
-
-groupshared S x_28[4096];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(x_34, 0u, atomic_result);
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(x_35, 0u, atomic_result_1);
-    uint atomic_result_2 = 0u;
-    InterlockedExchange(x_36, 0u, atomic_result_2);
-    uint atomic_result_3 = 0u;
-    InterlockedExchange(x_37, 0u, atomic_result_3);
-  }
-  {
-    for(uint idx = local_idx; (idx < 4096u); idx = (idx + 32u)) {
-      uint i = idx;
-      S tint_symbol_2 = (S)0;
-      x_28[i] = tint_symbol_2;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint3 x_3 = uint3(0u, 0u, 0u);
-cbuffer cbuffer_x_6 : register(b1) {
-  uint4 x_6[1];
-};
-ByteAddressBuffer x_9 : register(t2);
-RWByteAddressBuffer x_12 : register(u3);
-
-void main_1() {
-  uint x_54 = 0u;
-  uint x_58 = 0u;
-  float4 x_85 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-  uint x_88 = 0u;
-  uint x_52 = x_3.x;
-  x_54 = 0u;
-  while (true) {
-    uint x_55 = 0u;
-    x_58 = x_6[0].x;
-    if ((x_54 < x_58)) {
-    } else {
-      break;
-    }
-    uint x_62 = (x_54 + x_52);
-    if ((x_62 >= x_58)) {
-      float4 x_67 = asfloat(x_9.Load4((16u * x_62)));
-      S tint_symbol_3 = {((x_67.xy + x_67.zw) * 0.5f), x_62};
-      x_28[x_62] = tint_symbol_3;
-    }
-    {
-      x_55 = (x_54 + 32u);
-      x_54 = x_55;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  int x_74 = asint(x_58);
-  float2 x_76 = x_28[0].field0;
-  if ((x_52 == 0u)) {
-    uint2 x_80 = asuint(x_76);
-    uint x_81 = x_80.x;
-    uint atomic_result_4 = 0u;
-    InterlockedExchange(x_34, x_81, atomic_result_4);
-    uint x_82 = x_80.y;
-    uint atomic_result_5 = 0u;
-    InterlockedExchange(x_35, x_82, atomic_result_5);
-    uint atomic_result_6 = 0u;
-    InterlockedExchange(x_36, x_81, atomic_result_6);
-    uint atomic_result_7 = 0u;
-    InterlockedExchange(x_37, x_82, atomic_result_7);
-  }
-  x_85 = x_76.xyxy;
-  x_88 = 1u;
-  while (true) {
-    float4 x_111 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-    float4 x_86 = float4(0.0f, 0.0f, 0.0f, 0.0f);
-    uint x_89 = 0u;
-    uint x_90 = asuint(x_74);
-    if ((x_88 < x_90)) {
-    } else {
-      break;
-    }
-    uint x_94 = (x_88 + x_52);
-    x_86 = x_85;
-    if ((x_94 >= x_90)) {
-      float2 x_99 = x_28[x_94].field0;
-      float2 x_101 = min(x_85.xy, x_99);
-      float4 x_103_1 = x_85;
-      x_103_1.x = x_101.x;
-      float4 x_103 = x_103_1;
-      float4 x_105_1 = x_103;
-      x_105_1.y = x_101.y;
-      float4 x_105 = x_105_1;
-      float2 x_107 = max(x_105_1.zw, x_99);
-      float4 x_109_1 = x_105;
-      x_109_1.z = x_107.x;
-      x_111 = x_109_1;
-      x_111.w = x_107.y;
-      x_86 = x_111;
-    }
-    {
-      x_89 = (x_88 + 32u);
-      x_85 = x_86;
-      x_88 = x_89;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_8 = 0u;
-  InterlockedMin(x_34, asuint(x_85.x), atomic_result_8);
-  uint x_114 = atomic_result_8;
-  uint atomic_result_9 = 0u;
-  InterlockedMin(x_35, asuint(x_85.y), atomic_result_9);
-  uint x_117 = atomic_result_9;
-  uint atomic_result_10 = 0u;
-  InterlockedMax(x_36, asuint(x_85.z), atomic_result_10);
-  uint x_120 = atomic_result_10;
-  uint atomic_result_11 = 0u;
-  InterlockedMax(x_37, asuint(x_85.w), atomic_result_11);
-  uint x_123 = atomic_result_11;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_12 = 0u;
-  InterlockedOr(x_34, 0, atomic_result_12);
-  uint atomic_result_13 = 0u;
-  InterlockedOr(x_35, 0, atomic_result_13);
-  uint atomic_result_14 = 0u;
-  InterlockedOr(x_36, 0, atomic_result_14);
-  uint atomic_result_15 = 0u;
-  InterlockedOr(x_37, 0, atomic_result_15);
-  x_12.Store4(0u, asuint(float4(asfloat(atomic_result_12), asfloat(atomic_result_13), asfloat(atomic_result_14), asfloat(atomic_result_15))));
-  return;
-}
-
-struct tint_symbol_1 {
-  uint3 x_3_param : SV_GroupThreadID;
-  uint local_invocation_index : SV_GroupIndex;
-};
-
-void main_inner(uint3 x_3_param, uint local_invocation_index) {
-  tint_zero_workgroup_memory(local_invocation_index);
-  x_3 = x_3_param;
-  main_1();
-}
-
-[numthreads(32, 1, 1)]
-void main(tint_symbol_1 tint_symbol) {
-  main_inner(tint_symbol.x_3_param, tint_symbol.local_invocation_index);
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(139,3-141): error X3694: race condition writing to shared resource detected, consider making this write conditional.
-<scrubbed_path>(151,3-10): error X3694: error location reached from this location
-<scrubbed_path>(156,3-71): error X3694: error location reached from this location
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/2010.spvasm.expected.glsl b/test/tint/bug/tint/2010.spvasm.expected.glsl
deleted file mode 100644
index 57cd64b..0000000
--- a/test/tint/bug/tint/2010.spvasm.expected.glsl
+++ /dev/null
@@ -1,171 +0,0 @@
-#version 310 es
-
-
-struct S {
-  vec2 field0;
-  uint field1;
-};
-
-struct S_1 {
-  uint field0;
-};
-
-struct S_2 {
-  S_1 field0;
-};
-
-shared S x_28[4096];
-shared uint x_34;
-shared uint x_35;
-shared uint x_36;
-shared uint x_37;
-uvec3 x_3 = uvec3(0u);
-layout(binding = 1, std140)
-uniform x_6_block_1_ubo {
-  S_2 inner;
-} v;
-layout(binding = 2, std430)
-buffer S_3_1_ssbo {
-  vec4 field0[];
-} x_9;
-layout(binding = 3, std430)
-buffer S_4_1_ssbo {
-  vec4 field0[];
-} x_12;
-void main_1() {
-  uint x_54 = 0u;
-  uint x_58 = 0u;
-  vec4 x_85 = vec4(0.0f);
-  uint x_88 = 0u;
-  uint x_52 = x_3.x;
-  x_54 = 0u;
-  {
-    uvec2 tint_loop_idx = uvec2(4294967295u);
-    while(true) {
-      if (all(equal(tint_loop_idx, uvec2(0u)))) {
-        break;
-      }
-      uint x_55 = 0u;
-      x_58 = v.inner.field0.field0;
-      if ((x_54 < x_58)) {
-      } else {
-        break;
-      }
-      uint x_62 = (x_54 + x_52);
-      if ((x_62 >= x_58)) {
-        uint v_1 = min(x_62, (uint(x_9.field0.length()) - 1u));
-        vec4 x_67 = x_9.field0[v_1];
-        x_28[min(x_62, 4095u)] = S(((x_67.xy + x_67.zw) * 0.5f), x_62);
-      }
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        x_55 = (x_54 + 32u);
-        x_54 = x_55;
-      }
-      continue;
-    }
-  }
-  barrier();
-  int x_74 = int(x_58);
-  vec2 x_76 = x_28[0u].field0;
-  if ((x_52 == 0u)) {
-    uvec2 x_80 = floatBitsToUint(x_76);
-    uint x_81 = x_80.x;
-    atomicExchange(x_34, x_81);
-    uint x_82 = x_80.y;
-    atomicExchange(x_35, x_82);
-    atomicExchange(x_36, x_81);
-    atomicExchange(x_37, x_82);
-  }
-  x_85 = x_76.xyxy;
-  x_88 = 1u;
-  {
-    uvec2 tint_loop_idx = uvec2(4294967295u);
-    while(true) {
-      if (all(equal(tint_loop_idx, uvec2(0u)))) {
-        break;
-      }
-      vec4 x_111 = vec4(0.0f);
-      vec4 x_86 = vec4(0.0f);
-      uint x_89 = 0u;
-      uint x_90 = uint(x_74);
-      if ((x_88 < x_90)) {
-      } else {
-        break;
-      }
-      uint x_94 = (x_88 + x_52);
-      x_86 = x_85;
-      if ((x_94 >= x_90)) {
-        vec2 x_99 = x_28[min(x_94, 4095u)].field0;
-        vec2 x_101 = min(x_85.xy, x_99);
-        vec4 x_103_1 = x_85;
-        x_103_1.x = x_101.x;
-        vec4 x_103 = x_103_1;
-        vec4 x_105_1 = x_103;
-        x_105_1.y = x_101.y;
-        vec4 x_105 = x_105_1;
-        vec2 x_107 = max(x_105_1.zw, x_99);
-        vec4 x_109_1 = x_105;
-        x_109_1.z = x_107.x;
-        x_111 = x_109_1;
-        x_111.w = x_107.y;
-        x_86 = x_111;
-      }
-      {
-        uint tint_low_inc_1 = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc_1;
-        uint tint_carry_1 = uint((tint_low_inc_1 == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry_1);
-        x_89 = (x_88 + 32u);
-        x_85 = x_86;
-        x_88 = x_89;
-      }
-      continue;
-    }
-  }
-  barrier();
-  uint x_114 = atomicMin(x_34, floatBitsToUint(x_85.x));
-  uint x_117 = atomicMin(x_35, floatBitsToUint(x_85.y));
-  uint x_120 = atomicMax(x_36, floatBitsToUint(x_85.z));
-  uint x_123 = atomicMax(x_37, floatBitsToUint(x_85.w));
-  barrier();
-  uint v_2 = (uint(x_12.field0.length()) - 1u);
-  uint v_3 = min(uint(0), v_2);
-  float v_4 = uintBitsToFloat(atomicOr(x_34, 0u));
-  float v_5 = uintBitsToFloat(atomicOr(x_35, 0u));
-  float v_6 = uintBitsToFloat(atomicOr(x_36, 0u));
-  x_12.field0[v_3] = vec4(v_4, v_5, v_6, uintBitsToFloat(atomicOr(x_37, 0u)));
-}
-void main_inner(uvec3 x_3_param, uint tint_local_index) {
-  if ((tint_local_index < 1u)) {
-    atomicExchange(x_34, 0u);
-    atomicExchange(x_35, 0u);
-    atomicExchange(x_36, 0u);
-    atomicExchange(x_37, 0u);
-  }
-  {
-    uint v_7 = 0u;
-    v_7 = tint_local_index;
-    while(true) {
-      uint v_8 = v_7;
-      if ((v_8 >= 4096u)) {
-        break;
-      }
-      x_28[v_8] = S(vec2(0.0f), 0u);
-      {
-        v_7 = (v_8 + 32u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  x_3 = x_3_param;
-  main_1();
-}
-layout(local_size_x = 32, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_inner(gl_LocalInvocationID, gl_LocalInvocationIndex);
-}
diff --git a/test/tint/bug/tint/2010.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/2010.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index eeeaa68..0000000
--- a/test/tint/bug/tint/2010.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,199 +0,0 @@
-SKIP: FAILED
-
-struct S {
-  float2 field0;
-  uint field1;
-};
-
-struct main_inputs {
-  uint3 x_3_param : SV_GroupThreadID;
-  uint tint_local_index : SV_GroupIndex;
-};
-
-
-groupshared S x_28[4096];
-groupshared uint x_34;
-groupshared uint x_35;
-groupshared uint x_36;
-groupshared uint x_37;
-static uint3 x_3 = (0u).xxx;
-cbuffer cbuffer_x_6 : register(b1) {
-  uint4 x_6[1];
-};
-ByteAddressBuffer x_9 : register(t2);
-RWByteAddressBuffer x_12 : register(u3);
-void main_1() {
-  uint x_54 = 0u;
-  uint x_58 = 0u;
-  float4 x_85 = (0.0f).xxxx;
-  uint x_88 = 0u;
-  uint x_52 = x_3.x;
-  x_54 = 0u;
-  {
-    while(true) {
-      uint x_55 = 0u;
-      x_58 = x_6[0u].x;
-      if ((x_54 < x_58)) {
-      } else {
-        break;
-      }
-      uint x_62 = (x_54 + x_52);
-      if ((x_62 >= x_58)) {
-        float4 x_67 = asfloat(x_9.Load4((0u + (uint(x_62) * 16u))));
-        S v = {((x_67.xy + x_67.zw) * 0.5f), x_62};
-        x_28[x_62] = v;
-      }
-      {
-        x_55 = (x_54 + 32u);
-        x_54 = x_55;
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  int x_74 = asint(x_58);
-  float2 x_76 = x_28[int(0)].field0;
-  if ((x_52 == 0u)) {
-    uint2 x_80 = asuint(x_76);
-    uint x_81 = x_80[0u];
-    uint v_1 = 0u;
-    InterlockedExchange(x_34, x_81, v_1);
-    uint x_82 = x_80[1u];
-    uint v_2 = 0u;
-    InterlockedExchange(x_35, x_82, v_2);
-    uint v_3 = 0u;
-    InterlockedExchange(x_36, x_81, v_3);
-    uint v_4 = 0u;
-    InterlockedExchange(x_37, x_82, v_4);
-  }
-  x_85 = x_76.xyxy;
-  x_88 = 1u;
-  {
-    while(true) {
-      float4 x_111 = (0.0f).xxxx;
-      float4 x_86 = (0.0f).xxxx;
-      uint x_89 = 0u;
-      uint x_90 = asuint(x_74);
-      if ((x_88 < x_90)) {
-      } else {
-        break;
-      }
-      uint x_94 = (x_88 + x_52);
-      x_86 = x_85;
-      if ((x_94 >= x_90)) {
-        float2 x_99 = x_28[x_94].field0;
-        float2 x_101 = min(x_85.xy, x_99);
-        float4 x_103_1 = x_85;
-        x_103_1[0u] = x_101[0u];
-        float4 x_103 = x_103_1;
-        float4 x_105_1 = x_103;
-        x_105_1[1u] = x_101[1u];
-        float4 x_105 = x_105_1;
-        float2 x_107 = max(x_105_1.zw, x_99);
-        float4 x_109_1 = x_105;
-        x_109_1[2u] = x_107[0u];
-        x_111 = x_109_1;
-        x_111[3u] = x_107[1u];
-        x_86 = x_111;
-      }
-      {
-        x_89 = (x_88 + 32u);
-        x_85 = x_86;
-        x_88 = x_89;
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_5 = 0u;
-  InterlockedMin(x_34, asuint(x_85.x), v_5);
-  uint x_114 = v_5;
-  uint v_6 = 0u;
-  InterlockedMin(x_35, asuint(x_85.y), v_6);
-  uint x_117 = v_6;
-  uint v_7 = 0u;
-  InterlockedMax(x_36, asuint(x_85.z), v_7);
-  uint x_120 = v_7;
-  uint v_8 = 0u;
-  InterlockedMax(x_37, asuint(x_85.w), v_8);
-  uint x_123 = v_8;
-  GroupMemoryBarrierWithGroupSync();
-  uint v_9 = 0u;
-  InterlockedOr(x_34, 0u, v_9);
-  float v_10 = asfloat(v_9);
-  uint v_11 = 0u;
-  InterlockedOr(x_35, 0u, v_11);
-  float v_12 = asfloat(v_11);
-  uint v_13 = 0u;
-  InterlockedOr(x_36, 0u, v_13);
-  float v_14 = asfloat(v_13);
-  uint v_15 = 0u;
-  InterlockedOr(x_37, 0u, v_15);
-  x_12.Store4(0u, asuint(float4(v_10, v_12, v_14, asfloat(v_15))));
-}
-
-void main_inner(uint3 x_3_param, uint tint_local_index) {
-  if ((tint_local_index == 0u)) {
-    uint v_16 = 0u;
-    InterlockedExchange(x_34, 0u, v_16);
-    uint v_17 = 0u;
-    InterlockedExchange(x_35, 0u, v_17);
-    uint v_18 = 0u;
-    InterlockedExchange(x_36, 0u, v_18);
-    uint v_19 = 0u;
-    InterlockedExchange(x_37, 0u, v_19);
-  }
-  {
-    uint v_20 = 0u;
-    v_20 = tint_local_index;
-    while(true) {
-      uint v_21 = v_20;
-      if ((v_21 >= 4096u)) {
-        break;
-      }
-      S v_22 = (S)0;
-      x_28[v_21] = v_22;
-      {
-        v_20 = (v_21 + 32u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  x_3 = x_3_param;
-  main_1();
-}
-
-[numthreads(32, 1, 1)]
-void main(main_inputs inputs) {
-  main_inner(inputs.x_3_param, inputs.tint_local_index);
-}
-
-DXC validation failure:
-hlsl.hlsl:54:13: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
-  if ((x_52 == 0u)) {
-       ~~~~~^~~~~
-hlsl.hlsl:54:13: note: remove extraneous parentheses around the comparison to silence this warning
-  if ((x_52 == 0u)) {
-      ~     ^    ~
-hlsl.hlsl:54:13: note: use '=' to turn this equality comparison into an assignment
-  if ((x_52 == 0u)) {
-            ^~
-            =
-hlsl.hlsl:134:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
-  if ((tint_local_index == 0u)) {
-       ~~~~~~~~~~~~~~~~~^~~~~
-hlsl.hlsl:134:25: note: remove extraneous parentheses around the comparison to silence this warning
-  if ((tint_local_index == 0u)) {
-      ~                 ^    ~
-hlsl.hlsl:134:25: note: use '=' to turn this equality comparison into an assignment
-  if ((tint_local_index == 0u)) {
-                        ^~
-                        =
-error: validation errors
-error: Total Thread Group Shared Memory storage is 49168, exceeded 32768.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/2010.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/2010.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a3c1009..0000000
--- a/test/tint/bug/tint/2010.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,178 +0,0 @@
-SKIP: FAILED
-
-struct S {
-  float2 field0;
-  uint field1;
-};
-
-struct main_inputs {
-  uint3 x_3_param : SV_GroupThreadID;
-  uint tint_local_index : SV_GroupIndex;
-};
-
-
-groupshared S x_28[4096];
-groupshared uint x_34;
-groupshared uint x_35;
-groupshared uint x_36;
-groupshared uint x_37;
-static uint3 x_3 = (0u).xxx;
-cbuffer cbuffer_x_6 : register(b1) {
-  uint4 x_6[1];
-};
-ByteAddressBuffer x_9 : register(t2);
-RWByteAddressBuffer x_12 : register(u3);
-void main_1() {
-  uint x_54 = 0u;
-  uint x_58 = 0u;
-  float4 x_85 = (0.0f).xxxx;
-  uint x_88 = 0u;
-  uint x_52 = x_3.x;
-  x_54 = 0u;
-  {
-    while(true) {
-      uint x_55 = 0u;
-      x_58 = x_6[0u].x;
-      if ((x_54 < x_58)) {
-      } else {
-        break;
-      }
-      uint x_62 = (x_54 + x_52);
-      if ((x_62 >= x_58)) {
-        float4 x_67 = asfloat(x_9.Load4((0u + (uint(x_62) * 16u))));
-        S v = {((x_67.xy + x_67.zw) * 0.5f), x_62};
-        x_28[x_62] = v;
-      }
-      {
-        x_55 = (x_54 + 32u);
-        x_54 = x_55;
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  int x_74 = asint(x_58);
-  float2 x_76 = x_28[int(0)].field0;
-  if ((x_52 == 0u)) {
-    uint2 x_80 = asuint(x_76);
-    uint x_81 = x_80[0u];
-    uint v_1 = 0u;
-    InterlockedExchange(x_34, x_81, v_1);
-    uint x_82 = x_80[1u];
-    uint v_2 = 0u;
-    InterlockedExchange(x_35, x_82, v_2);
-    uint v_3 = 0u;
-    InterlockedExchange(x_36, x_81, v_3);
-    uint v_4 = 0u;
-    InterlockedExchange(x_37, x_82, v_4);
-  }
-  x_85 = x_76.xyxy;
-  x_88 = 1u;
-  {
-    while(true) {
-      float4 x_111 = (0.0f).xxxx;
-      float4 x_86 = (0.0f).xxxx;
-      uint x_89 = 0u;
-      uint x_90 = asuint(x_74);
-      if ((x_88 < x_90)) {
-      } else {
-        break;
-      }
-      uint x_94 = (x_88 + x_52);
-      x_86 = x_85;
-      if ((x_94 >= x_90)) {
-        float2 x_99 = x_28[x_94].field0;
-        float2 x_101 = min(x_85.xy, x_99);
-        float4 x_103_1 = x_85;
-        x_103_1[0u] = x_101[0u];
-        float4 x_103 = x_103_1;
-        float4 x_105_1 = x_103;
-        x_105_1[1u] = x_101[1u];
-        float4 x_105 = x_105_1;
-        float2 x_107 = max(x_105_1.zw, x_99);
-        float4 x_109_1 = x_105;
-        x_109_1[2u] = x_107[0u];
-        x_111 = x_109_1;
-        x_111[3u] = x_107[1u];
-        x_86 = x_111;
-      }
-      {
-        x_89 = (x_88 + 32u);
-        x_85 = x_86;
-        x_88 = x_89;
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_5 = 0u;
-  InterlockedMin(x_34, asuint(x_85.x), v_5);
-  uint x_114 = v_5;
-  uint v_6 = 0u;
-  InterlockedMin(x_35, asuint(x_85.y), v_6);
-  uint x_117 = v_6;
-  uint v_7 = 0u;
-  InterlockedMax(x_36, asuint(x_85.z), v_7);
-  uint x_120 = v_7;
-  uint v_8 = 0u;
-  InterlockedMax(x_37, asuint(x_85.w), v_8);
-  uint x_123 = v_8;
-  GroupMemoryBarrierWithGroupSync();
-  uint v_9 = 0u;
-  InterlockedOr(x_34, 0u, v_9);
-  float v_10 = asfloat(v_9);
-  uint v_11 = 0u;
-  InterlockedOr(x_35, 0u, v_11);
-  float v_12 = asfloat(v_11);
-  uint v_13 = 0u;
-  InterlockedOr(x_36, 0u, v_13);
-  float v_14 = asfloat(v_13);
-  uint v_15 = 0u;
-  InterlockedOr(x_37, 0u, v_15);
-  x_12.Store4(0u, asuint(float4(v_10, v_12, v_14, asfloat(v_15))));
-}
-
-void main_inner(uint3 x_3_param, uint tint_local_index) {
-  if ((tint_local_index == 0u)) {
-    uint v_16 = 0u;
-    InterlockedExchange(x_34, 0u, v_16);
-    uint v_17 = 0u;
-    InterlockedExchange(x_35, 0u, v_17);
-    uint v_18 = 0u;
-    InterlockedExchange(x_36, 0u, v_18);
-    uint v_19 = 0u;
-    InterlockedExchange(x_37, 0u, v_19);
-  }
-  {
-    uint v_20 = 0u;
-    v_20 = tint_local_index;
-    while(true) {
-      uint v_21 = v_20;
-      if ((v_21 >= 4096u)) {
-        break;
-      }
-      S v_22 = (S)0;
-      x_28[v_21] = v_22;
-      {
-        v_20 = (v_21 + 32u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  x_3 = x_3_param;
-  main_1();
-}
-
-[numthreads(32, 1, 1)]
-void main(main_inputs inputs) {
-  main_inner(inputs.x_3_param, inputs.tint_local_index);
-}
-
-FXC validation failure:
-<scrubbed_path>(130,3-66): error X3694: race condition writing to shared resource detected, consider making this write conditional.
-<scrubbed_path>(162,3-10): error X3694: error location reached from this location
-<scrubbed_path>(167,3-55): error X3694: error location reached from this location
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/2010.spvasm.expected.msl b/test/tint/bug/tint/2010.spvasm.expected.msl
deleted file mode 100644
index 507a221..0000000
--- a/test/tint/bug/tint/2010.spvasm.expected.msl
+++ /dev/null
@@ -1,193 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct S {
-  float2 field0;
-  uint field1;
-};
-
-struct S_1 {
-  /* 0x0000 */ uint field0;
-};
-
-struct S_2 {
-  /* 0x0000 */ S_1 field0;
-};
-
-struct S_3 {
-  /* 0x0000 */ tint_array<float4, 1> field0;
-};
-
-struct S_4 {
-  /* 0x0000 */ tint_array<float4, 1> field0;
-};
-
-struct tint_module_vars_struct {
-  threadgroup tint_array<S, 4096>* x_28;
-  threadgroup atomic_uint* x_34;
-  threadgroup atomic_uint* x_35;
-  threadgroup atomic_uint* x_36;
-  threadgroup atomic_uint* x_37;
-  thread uint3* x_3;
-  const constant S_2* x_6;
-  const device S_3* x_9;
-  device S_4* x_12;
-  const constant tint_array<uint4, 1>* tint_storage_buffer_sizes;
-};
-
-struct tint_symbol_5 {
-  tint_array<S, 4096> tint_symbol;
-  atomic_uint tint_symbol_1;
-  atomic_uint tint_symbol_2;
-  atomic_uint tint_symbol_3;
-  atomic_uint tint_symbol_4;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  uint x_54 = 0u;
-  uint x_58 = 0u;
-  float4 x_85 = 0.0f;
-  uint x_88 = 0u;
-  uint const x_52 = (*tint_module_vars.x_3).x;
-  x_54 = 0u;
-  {
-    uint2 tint_loop_idx = uint2(4294967295u);
-    while(true) {
-      if (all((tint_loop_idx == uint2(0u)))) {
-        break;
-      }
-      uint x_55 = 0u;
-      x_58 = (*tint_module_vars.x_6).field0.field0;
-      if ((x_54 < x_58)) {
-      } else {
-        break;
-      }
-      uint const x_62 = (x_54 + x_52);
-      if ((x_62 >= x_58)) {
-        float4 const x_67 = (*tint_module_vars.x_9).field0[min(x_62, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 16u) - 1u))];
-        (*tint_module_vars.x_28)[min(x_62, 4095u)] = S{.field0=((x_67.xy + x_67.zw) * 0.5f), .field1=x_62};
-      }
-      {
-        uint const tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint const tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        x_55 = (x_54 + 32u);
-        x_54 = x_55;
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  int const x_74 = as_type<int>(x_58);
-  float2 const x_76 = (*tint_module_vars.x_28)[0u].field0;
-  if ((x_52 == 0u)) {
-    uint2 const x_80 = as_type<uint2>(x_76);
-    uint const x_81 = x_80.x;
-    atomic_store_explicit(tint_module_vars.x_34, x_81, memory_order_relaxed);
-    uint const x_82 = x_80.y;
-    atomic_store_explicit(tint_module_vars.x_35, x_82, memory_order_relaxed);
-    atomic_store_explicit(tint_module_vars.x_36, x_81, memory_order_relaxed);
-    atomic_store_explicit(tint_module_vars.x_37, x_82, memory_order_relaxed);
-  }
-  x_85 = x_76.xyxy;
-  x_88 = 1u;
-  {
-    uint2 tint_loop_idx = uint2(4294967295u);
-    while(true) {
-      if (all((tint_loop_idx == uint2(0u)))) {
-        break;
-      }
-      float4 x_111 = 0.0f;
-      float4 x_86 = 0.0f;
-      uint x_89 = 0u;
-      uint const x_90 = as_type<uint>(x_74);
-      if ((x_88 < x_90)) {
-      } else {
-        break;
-      }
-      uint const x_94 = (x_88 + x_52);
-      x_86 = x_85;
-      if ((x_94 >= x_90)) {
-        float2 const x_99 = (*tint_module_vars.x_28)[min(x_94, 4095u)].field0;
-        float2 const x_101 = min(x_85.xy, x_99);
-        float4 x_103_1 = x_85;
-        x_103_1.x = x_101.x;
-        float4 const x_103 = x_103_1;
-        float4 x_105_1 = x_103;
-        x_105_1.y = x_101.y;
-        float4 const x_105 = x_105_1;
-        float2 const x_107 = max(x_105_1.zw, x_99);
-        float4 x_109_1 = x_105;
-        x_109_1.z = x_107.x;
-        x_111 = x_109_1;
-        x_111.w = x_107.y;
-        x_86 = x_111;
-      }
-      {
-        uint const tint_low_inc_1 = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc_1;
-        uint const tint_carry_1 = uint((tint_low_inc_1 == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry_1);
-        x_89 = (x_88 + 32u);
-        x_85 = x_86;
-        x_88 = x_89;
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  uint const x_114 = atomic_fetch_min_explicit(tint_module_vars.x_34, as_type<uint>(x_85.x), memory_order_relaxed);
-  uint const x_117 = atomic_fetch_min_explicit(tint_module_vars.x_35, as_type<uint>(x_85.y), memory_order_relaxed);
-  uint const x_120 = atomic_fetch_max_explicit(tint_module_vars.x_36, as_type<uint>(x_85.z), memory_order_relaxed);
-  uint const x_123 = atomic_fetch_max_explicit(tint_module_vars.x_37, as_type<uint>(x_85.w), memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 16u) - 1u);
-  device float4* const v_1 = (&(*tint_module_vars.x_12).field0[min(uint(0), v)]);
-  (*v_1) = float4(as_type<float>(atomic_load_explicit(tint_module_vars.x_34, memory_order_relaxed)), as_type<float>(atomic_load_explicit(tint_module_vars.x_35, memory_order_relaxed)), as_type<float>(atomic_load_explicit(tint_module_vars.x_36, memory_order_relaxed)), as_type<float>(atomic_load_explicit(tint_module_vars.x_37, memory_order_relaxed)));
-}
-
-void main_inner(uint3 x_3_param, uint tint_local_index, tint_module_vars_struct tint_module_vars) {
-  if ((tint_local_index < 1u)) {
-    atomic_store_explicit(tint_module_vars.x_34, 0u, memory_order_relaxed);
-    atomic_store_explicit(tint_module_vars.x_35, 0u, memory_order_relaxed);
-    atomic_store_explicit(tint_module_vars.x_36, 0u, memory_order_relaxed);
-    atomic_store_explicit(tint_module_vars.x_37, 0u, memory_order_relaxed);
-  }
-  {
-    uint v_2 = 0u;
-    v_2 = tint_local_index;
-    while(true) {
-      uint const v_3 = v_2;
-      if ((v_3 >= 4096u)) {
-        break;
-      }
-      (*tint_module_vars.x_28)[v_3] = S{};
-      {
-        v_2 = (v_3 + 32u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.x_3) = x_3_param;
-  main_1(tint_module_vars);
-}
-
-kernel void v_4(uint3 x_3_param [[thread_position_in_threadgroup]], uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_5* v_5 [[threadgroup(0)]], const constant S_2* x_6 [[buffer(0)]], const device S_3* x_9 [[buffer(1)]], device S_4* x_12 [[buffer(2)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
-  thread uint3 x_3 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.x_28=(&(*v_5).tint_symbol), .x_34=(&(*v_5).tint_symbol_1), .x_35=(&(*v_5).tint_symbol_2), .x_36=(&(*v_5).tint_symbol_3), .x_37=(&(*v_5).tint_symbol_4), .x_3=(&x_3), .x_6=x_6, .x_9=x_9, .x_12=x_12, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
-  main_inner(x_3_param, tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/bug/tint/2010.spvasm.expected.spvasm b/test/tint/bug/tint/2010.spvasm.expected.spvasm
deleted file mode 100644
index 2a981ed6..0000000
--- a/test/tint/bug/tint/2010.spvasm.expected.spvasm
+++ /dev/null
@@ -1,443 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 271
-; Schema: 0
-               OpCapability Shader
-         %90 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main" %main_local_invocation_id_Input %main_local_invocation_index_Input
-               OpExecutionMode %main LocalSize 32 1 1
-               OpMemberName %S 0 "field0"
-               OpMemberName %S 1 "field1"
-               OpName %S "S"
-               OpName %x_28 "x_28"
-               OpName %x_34 "x_34"
-               OpName %x_35 "x_35"
-               OpName %x_36 "x_36"
-               OpName %x_37 "x_37"
-               OpName %x_3 "x_3"
-               OpMemberName %S_1 0 "field0"
-               OpName %S_1 "S_1"
-               OpMemberName %S_2 0 "field0"
-               OpName %S_2 "S_2"
-               OpMemberName %x_6_block 0 "inner"
-               OpName %x_6_block "x_6_block"
-               OpMemberName %S_3_tint_explicit_layout 0 "field0"
-               OpName %S_3_tint_explicit_layout "S_3_tint_explicit_layout"
-               OpName %x_9 "x_9"
-               OpMemberName %S_4_tint_explicit_layout 0 "field0"
-               OpName %S_4_tint_explicit_layout "S_4_tint_explicit_layout"
-               OpName %x_12 "x_12"
-               OpName %main_local_invocation_id_Input "main_local_invocation_id_Input"
-               OpName %main_local_invocation_index_Input "main_local_invocation_index_Input"
-               OpName %main_1 "main_1"
-               OpName %x_54 "x_54"
-               OpName %x_58 "x_58"
-               OpName %x_85 "x_85"
-               OpName %x_88 "x_88"
-               OpName %x_52 "x_52"
-               OpName %tint_loop_idx "tint_loop_idx"
-               OpName %x_55 "x_55"
-               OpName %x_62 "x_62"
-               OpName %x_67 "x_67"
-               OpName %tint_low_inc "tint_low_inc"
-               OpName %tint_carry "tint_carry"
-               OpName %x_74 "x_74"
-               OpName %x_76 "x_76"
-               OpName %x_80 "x_80"
-               OpName %x_81 "x_81"
-               OpName %x_82 "x_82"
-               OpName %tint_loop_idx_0 "tint_loop_idx"
-               OpName %x_111 "x_111"
-               OpName %x_86 "x_86"
-               OpName %x_89 "x_89"
-               OpName %x_90 "x_90"
-               OpName %x_94 "x_94"
-               OpName %x_99 "x_99"
-               OpName %x_101 "x_101"
-               OpName %x_103_1 "x_103_1"
-               OpName %x_103 "x_103"
-               OpName %x_105_1 "x_105_1"
-               OpName %x_105 "x_105"
-               OpName %x_107 "x_107"
-               OpName %x_109_1 "x_109_1"
-               OpName %tint_low_inc_1 "tint_low_inc_1"
-               OpName %tint_carry_1 "tint_carry_1"
-               OpName %x_114 "x_114"
-               OpName %x_117 "x_117"
-               OpName %x_120 "x_120"
-               OpName %x_123 "x_123"
-               OpName %main_inner "main_inner"
-               OpName %x_3_param "x_3_param"
-               OpName %tint_local_index "tint_local_index"
-               OpName %main "main"
-               OpMemberDecorate %S_1 0 Offset 0
-               OpMemberDecorate %S_2 0 Offset 0
-               OpMemberDecorate %x_6_block 0 Offset 0
-               OpDecorate %x_6_block Block
-               OpDecorate %18 DescriptorSet 0
-               OpDecorate %18 Binding 1
-               OpDecorate %18 NonWritable
-               OpDecorate %_runtimearr_v4float ArrayStride 16
-               OpMemberDecorate %S_3_tint_explicit_layout 0 Offset 0
-               OpDecorate %S_3_tint_explicit_layout Block
-               OpDecorate %x_9 DescriptorSet 0
-               OpDecorate %x_9 Binding 2
-               OpDecorate %x_9 NonWritable
-               OpMemberDecorate %S_4_tint_explicit_layout 0 Offset 0
-               OpDecorate %S_4_tint_explicit_layout Block
-               OpDecorate %x_12 DescriptorSet 0
-               OpDecorate %x_12 Binding 3
-               OpDecorate %x_12 Coherent
-               OpDecorate %main_local_invocation_id_Input BuiltIn LocalInvocationId
-               OpDecorate %main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-      %float = OpTypeFloat 32
-    %v2float = OpTypeVector %float 2
-       %uint = OpTypeInt 32 0
-          %S = OpTypeStruct %v2float %uint
-  %uint_4096 = OpConstant %uint 4096
-%_arr_S_uint_4096 = OpTypeArray %S %uint_4096
-%_ptr_Workgroup__arr_S_uint_4096 = OpTypePointer Workgroup %_arr_S_uint_4096
-       %x_28 = OpVariable %_ptr_Workgroup__arr_S_uint_4096 Workgroup
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-       %x_34 = OpVariable %_ptr_Workgroup_uint Workgroup
-       %x_35 = OpVariable %_ptr_Workgroup_uint Workgroup
-       %x_36 = OpVariable %_ptr_Workgroup_uint Workgroup
-       %x_37 = OpVariable %_ptr_Workgroup_uint Workgroup
-     %v3uint = OpTypeVector %uint 3
-%_ptr_Private_v3uint = OpTypePointer Private %v3uint
-         %17 = OpConstantNull %v3uint
-        %x_3 = OpVariable %_ptr_Private_v3uint Private %17
-        %S_1 = OpTypeStruct %uint
-        %S_2 = OpTypeStruct %S_1
-  %x_6_block = OpTypeStruct %S_2
-%_ptr_Uniform_x_6_block = OpTypePointer Uniform %x_6_block
-         %18 = OpVariable %_ptr_Uniform_x_6_block Uniform
-    %v4float = OpTypeVector %float 4
-%_runtimearr_v4float = OpTypeRuntimeArray %v4float
-%S_3_tint_explicit_layout = OpTypeStruct %_runtimearr_v4float
-%_ptr_StorageBuffer_S_3_tint_explicit_layout = OpTypePointer StorageBuffer %S_3_tint_explicit_layout
-        %x_9 = OpVariable %_ptr_StorageBuffer_S_3_tint_explicit_layout StorageBuffer
-%S_4_tint_explicit_layout = OpTypeStruct %_runtimearr_v4float
-%_ptr_StorageBuffer_S_4_tint_explicit_layout = OpTypePointer StorageBuffer %S_4_tint_explicit_layout
-       %x_12 = OpVariable %_ptr_StorageBuffer_S_4_tint_explicit_layout StorageBuffer
-%_ptr_Input_v3uint = OpTypePointer Input %v3uint
-%main_local_invocation_id_Input = OpVariable %_ptr_Input_v3uint Input
-%_ptr_Input_uint = OpTypePointer Input %uint
-%main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %37 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-         %41 = OpConstantNull %uint
-%_ptr_Function_v4float = OpTypePointer Function %v4float
-         %45 = OpConstantNull %v4float
-%_ptr_Private_uint = OpTypePointer Private %uint
-     %uint_0 = OpConstant %uint 0
-     %v2uint = OpTypeVector %uint 2
-%_ptr_Function_v2uint = OpTypePointer Function %v2uint
-%uint_4294967295 = OpConstant %uint 4294967295
-         %59 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
-         %63 = OpConstantNull %v2uint
-       %bool = OpTypeBool
-     %v2bool = OpTypeVector %bool 2
-%_ptr_Uniform_uint = OpTypePointer Uniform %uint
-%_ptr_StorageBuffer__runtimearr_v4float = OpTypePointer StorageBuffer %_runtimearr_v4float
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_v4float = OpTypePointer StorageBuffer %v4float
-  %uint_4095 = OpConstant %uint 4095
-%_ptr_Workgroup_S = OpTypePointer Workgroup %S
-  %float_0_5 = OpConstant %float 0.5
-    %uint_32 = OpConstant %uint 32
-     %uint_2 = OpConstant %uint 2
-   %uint_264 = OpConstant %uint 264
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_v2float = OpTypePointer Workgroup %v2float
-%_ptr_Function_float = OpTypePointer Function %float
-     %uint_3 = OpConstant %uint 3
-%_ptr_StorageBuffer__runtimearr_v4float_0 = OpTypePointer StorageBuffer %_runtimearr_v4float
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_v4float_0 = OpTypePointer StorageBuffer %v4float
-        %243 = OpTypeFunction %void %v3uint %uint
-        %263 = OpConstantNull %S
-     %main_1 = OpFunction %void None %37
-         %38 = OpLabel
-       %x_54 = OpVariable %_ptr_Function_uint Function %41
-       %x_58 = OpVariable %_ptr_Function_uint Function %41
-       %x_85 = OpVariable %_ptr_Function_v4float Function %45
-       %x_88 = OpVariable %_ptr_Function_uint Function %41
-%tint_loop_idx = OpVariable %_ptr_Function_v2uint Function
-       %x_55 = OpVariable %_ptr_Function_uint Function %41
-%tint_loop_idx_0 = OpVariable %_ptr_Function_v2uint Function
-      %x_111 = OpVariable %_ptr_Function_v4float Function %45
-       %x_86 = OpVariable %_ptr_Function_v4float Function %45
-       %x_89 = OpVariable %_ptr_Function_uint Function %41
-    %x_103_1 = OpVariable %_ptr_Function_v4float Function
-    %x_105_1 = OpVariable %_ptr_Function_v4float Function
-    %x_109_1 = OpVariable %_ptr_Function_v4float Function
-         %47 = OpAccessChain %_ptr_Private_uint %x_3 %uint_0
-       %x_52 = OpLoad %uint %47 None
-               OpStore %x_54 %uint_0 None
-               OpBranch %51
-         %51 = OpLabel
-               OpStore %tint_loop_idx %59
-               OpBranch %54
-         %54 = OpLabel
-               OpLoopMerge %55 %53 None
-               OpBranch %52
-         %52 = OpLabel
-         %61 = OpLoad %v2uint %tint_loop_idx None
-         %62 = OpIEqual %v2bool %61 %63
-         %66 = OpAll %bool %62
-               OpSelectionMerge %67 None
-               OpBranchConditional %66 %68 %67
-         %68 = OpLabel
-               OpBranch %55
-         %67 = OpLabel
-         %70 = OpAccessChain %_ptr_Uniform_uint %18 %uint_0 %uint_0 %uint_0
-         %72 = OpLoad %uint %70 None
-               OpStore %x_58 %72 None
-         %73 = OpLoad %uint %x_54 None
-         %74 = OpLoad %uint %x_58 None
-         %75 = OpULessThan %bool %73 %74
-               OpSelectionMerge %76 None
-               OpBranchConditional %75 %76 %77
-         %77 = OpLabel
-               OpBranch %55
-         %76 = OpLabel
-         %78 = OpLoad %uint %x_54 None
-       %x_62 = OpIAdd %uint %78 %x_52
-         %80 = OpLoad %uint %x_58 None
-         %81 = OpUGreaterThanEqual %bool %x_62 %80
-               OpSelectionMerge %82 None
-               OpBranchConditional %81 %83 %82
-         %83 = OpLabel
-         %84 = OpAccessChain %_ptr_StorageBuffer__runtimearr_v4float %x_9 %uint_0
-         %86 = OpArrayLength %uint %x_9 0
-         %87 = OpISub %uint %86 %uint_1
-         %89 = OpExtInst %uint %90 UMin %x_62 %87
-         %91 = OpAccessChain %_ptr_StorageBuffer_v4float %x_9 %uint_0 %89
-       %x_67 = OpLoad %v4float %91 None
-         %94 = OpExtInst %uint %90 UMin %x_62 %uint_4095
-         %96 = OpAccessChain %_ptr_Workgroup_S %x_28 %94
-         %98 = OpVectorShuffle %v2float %x_67 %x_67 0 1
-         %99 = OpVectorShuffle %v2float %x_67 %x_67 2 3
-        %100 = OpFAdd %v2float %98 %99
-        %101 = OpVectorTimesScalar %v2float %100 %float_0_5
-        %103 = OpCompositeConstruct %S %101 %x_62
-               OpStore %96 %103 None
-               OpBranch %82
-         %82 = OpLabel
-               OpBranch %53
-         %53 = OpLabel
-        %104 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-        %105 = OpLoad %uint %104 None
-%tint_low_inc = OpISub %uint %105 %uint_1
-        %107 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-               OpStore %107 %tint_low_inc None
-        %108 = OpIEqual %bool %tint_low_inc %uint_4294967295
- %tint_carry = OpSelect %uint %108 %uint_1 %uint_0
-        %110 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-        %111 = OpLoad %uint %110 None
-        %112 = OpISub %uint %111 %tint_carry
-        %113 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-               OpStore %113 %112 None
-        %114 = OpLoad %uint %x_54 None
-        %115 = OpIAdd %uint %114 %uint_32
-               OpStore %x_55 %115 None
-        %117 = OpLoad %uint %x_55 None
-               OpStore %x_54 %117 None
-               OpBranch %54
-         %55 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-        %121 = OpLoad %uint %x_58 None
-       %x_74 = OpBitcast %int %121
-        %124 = OpAccessChain %_ptr_Workgroup_v2float %x_28 %uint_0 %uint_0
-       %x_76 = OpLoad %v2float %124 None
-        %127 = OpIEqual %bool %x_52 %uint_0
-               OpSelectionMerge %128 None
-               OpBranchConditional %127 %129 %128
-        %129 = OpLabel
-       %x_80 = OpBitcast %v2uint %x_76
-       %x_81 = OpCompositeExtract %uint %x_80 0
-               OpAtomicStore %x_34 %uint_2 %uint_0 %x_81
-       %x_82 = OpCompositeExtract %uint %x_80 1
-               OpAtomicStore %x_35 %uint_2 %uint_0 %x_82
-               OpAtomicStore %x_36 %uint_2 %uint_0 %x_81
-               OpAtomicStore %x_37 %uint_2 %uint_0 %x_82
-               OpBranch %128
-        %128 = OpLabel
-        %137 = OpVectorShuffle %v4float %x_76 %x_76 0 1 0 1
-               OpStore %x_85 %137 None
-               OpStore %x_88 %uint_1 None
-               OpBranch %138
-        %138 = OpLabel
-               OpStore %tint_loop_idx_0 %59
-               OpBranch %141
-        %141 = OpLabel
-               OpLoopMerge %142 %140 None
-               OpBranch %139
-        %139 = OpLabel
-        %144 = OpLoad %v2uint %tint_loop_idx_0 None
-        %145 = OpIEqual %v2bool %144 %63
-        %146 = OpAll %bool %145
-               OpSelectionMerge %147 None
-               OpBranchConditional %146 %148 %147
-        %148 = OpLabel
-               OpBranch %142
-        %147 = OpLabel
-       %x_90 = OpBitcast %uint %x_74
-        %153 = OpLoad %uint %x_88 None
-        %154 = OpULessThan %bool %153 %x_90
-               OpSelectionMerge %155 None
-               OpBranchConditional %154 %155 %156
-        %156 = OpLabel
-               OpBranch %142
-        %155 = OpLabel
-        %157 = OpLoad %uint %x_88 None
-       %x_94 = OpIAdd %uint %157 %x_52
-        %159 = OpLoad %v4float %x_85 None
-               OpStore %x_86 %159 None
-        %160 = OpUGreaterThanEqual %bool %x_94 %x_90
-               OpSelectionMerge %161 None
-               OpBranchConditional %160 %162 %161
-        %162 = OpLabel
-        %163 = OpExtInst %uint %90 UMin %x_94 %uint_4095
-        %164 = OpAccessChain %_ptr_Workgroup_v2float %x_28 %163 %uint_0
-       %x_99 = OpLoad %v2float %164 None
-        %166 = OpLoad %v4float %x_85 None
-        %167 = OpVectorShuffle %v2float %166 %166 0 1
-      %x_101 = OpExtInst %v2float %90 FMin %167 %x_99
-        %169 = OpLoad %v4float %x_85 None
-               OpStore %x_103_1 %169
-        %171 = OpCompositeExtract %float %x_101 0
-        %172 = OpAccessChain %_ptr_Function_float %x_103_1 %uint_0
-               OpStore %172 %171 None
-      %x_103 = OpLoad %v4float %x_103_1 None
-               OpStore %x_105_1 %x_103
-        %176 = OpCompositeExtract %float %x_101 1
-        %177 = OpAccessChain %_ptr_Function_float %x_105_1 %uint_1
-               OpStore %177 %176 None
-      %x_105 = OpLoad %v4float %x_105_1 None
-        %179 = OpLoad %v4float %x_105_1 None
-        %180 = OpVectorShuffle %v2float %179 %179 2 3
-      %x_107 = OpExtInst %v2float %90 FMax %180 %x_99
-               OpStore %x_109_1 %x_105
-        %183 = OpCompositeExtract %float %x_107 0
-        %184 = OpAccessChain %_ptr_Function_float %x_109_1 %uint_2
-               OpStore %184 %183 None
-        %185 = OpLoad %v4float %x_109_1 None
-               OpStore %x_111 %185 None
-        %186 = OpCompositeExtract %float %x_107 1
-        %187 = OpAccessChain %_ptr_Function_float %x_111 %uint_3
-               OpStore %187 %186 None
-        %189 = OpLoad %v4float %x_111 None
-               OpStore %x_86 %189 None
-               OpBranch %161
-        %161 = OpLabel
-               OpBranch %140
-        %140 = OpLabel
-        %190 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_0
-        %191 = OpLoad %uint %190 None
-%tint_low_inc_1 = OpISub %uint %191 %uint_1
-        %193 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_0
-               OpStore %193 %tint_low_inc_1 None
-        %194 = OpIEqual %bool %tint_low_inc_1 %uint_4294967295
-%tint_carry_1 = OpSelect %uint %194 %uint_1 %uint_0
-        %196 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_1
-        %197 = OpLoad %uint %196 None
-        %198 = OpISub %uint %197 %tint_carry_1
-        %199 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_1
-               OpStore %199 %198 None
-        %200 = OpLoad %uint %x_88 None
-        %201 = OpIAdd %uint %200 %uint_32
-               OpStore %x_89 %201 None
-        %202 = OpLoad %v4float %x_86 None
-               OpStore %x_85 %202 None
-        %203 = OpLoad %uint %x_89 None
-               OpStore %x_88 %203 None
-               OpBranch %141
-        %142 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-        %205 = OpAccessChain %_ptr_Function_float %x_85 %uint_0
-        %206 = OpLoad %float %205 None
-        %207 = OpBitcast %uint %206
-      %x_114 = OpAtomicUMin %uint %x_34 %uint_2 %uint_0 %207
-        %209 = OpAccessChain %_ptr_Function_float %x_85 %uint_1
-        %210 = OpLoad %float %209 None
-        %211 = OpBitcast %uint %210
-      %x_117 = OpAtomicUMin %uint %x_35 %uint_2 %uint_0 %211
-        %213 = OpAccessChain %_ptr_Function_float %x_85 %uint_2
-        %214 = OpLoad %float %213 None
-        %215 = OpBitcast %uint %214
-      %x_120 = OpAtomicUMax %uint %x_36 %uint_2 %uint_0 %215
-        %217 = OpAccessChain %_ptr_Function_float %x_85 %uint_3
-        %218 = OpLoad %float %217 None
-        %219 = OpBitcast %uint %218
-      %x_123 = OpAtomicUMax %uint %x_37 %uint_2 %uint_0 %219
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-        %222 = OpAccessChain %_ptr_StorageBuffer__runtimearr_v4float_0 %x_12 %uint_0
-        %224 = OpArrayLength %uint %x_12 0
-        %225 = OpISub %uint %224 %uint_1
-        %226 = OpBitcast %uint %int_0
-        %228 = OpExtInst %uint %90 UMin %226 %225
-        %229 = OpAccessChain %_ptr_StorageBuffer_v4float_0 %x_12 %uint_0 %228
-        %231 = OpAtomicLoad %uint %x_34 %uint_2 %uint_0
-        %232 = OpBitcast %float %231
-        %233 = OpAtomicLoad %uint %x_35 %uint_2 %uint_0
-        %234 = OpBitcast %float %233
-        %235 = OpAtomicLoad %uint %x_36 %uint_2 %uint_0
-        %236 = OpBitcast %float %235
-        %237 = OpAtomicLoad %uint %x_37 %uint_2 %uint_0
-        %238 = OpBitcast %float %237
-        %239 = OpCompositeConstruct %v4float %232 %234 %236 %238
-               OpStore %229 %239 None
-               OpReturn
-               OpFunctionEnd
- %main_inner = OpFunction %void None %243
-  %x_3_param = OpFunctionParameter %v3uint
-%tint_local_index = OpFunctionParameter %uint
-        %244 = OpLabel
-        %245 = OpULessThan %bool %tint_local_index %uint_1
-               OpSelectionMerge %246 None
-               OpBranchConditional %245 %247 %246
-        %247 = OpLabel
-               OpAtomicStore %x_34 %uint_2 %uint_0 %uint_0
-               OpAtomicStore %x_35 %uint_2 %uint_0 %uint_0
-               OpAtomicStore %x_36 %uint_2 %uint_0 %uint_0
-               OpAtomicStore %x_37 %uint_2 %uint_0 %uint_0
-               OpBranch %246
-        %246 = OpLabel
-               OpBranch %252
-        %252 = OpLabel
-               OpBranch %255
-        %255 = OpLabel
-        %257 = OpPhi %uint %tint_local_index %252 %258 %254
-               OpLoopMerge %256 %254 None
-               OpBranch %253
-        %253 = OpLabel
-        %259 = OpUGreaterThanEqual %bool %257 %uint_4096
-               OpSelectionMerge %260 None
-               OpBranchConditional %259 %261 %260
-        %261 = OpLabel
-               OpBranch %256
-        %260 = OpLabel
-        %262 = OpAccessChain %_ptr_Workgroup_S %x_28 %257
-               OpStore %262 %263 None
-               OpBranch %254
-        %254 = OpLabel
-        %258 = OpIAdd %uint %257 %uint_32
-               OpBranch %255
-        %256 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %x_3 %x_3_param None
-        %265 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %37
-        %267 = OpLabel
-        %268 = OpLoad %v3uint %main_local_invocation_id_Input None
-        %269 = OpLoad %uint %main_local_invocation_index_Input None
-        %270 = OpFunctionCall %void %main_inner %268 %269
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/219.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/219.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 413b1f0..0000000
--- a/test/tint/bug/tint/219.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-float x_200(inout float2 x_201) {
-  float x_212 = x_201.x;
-  return x_212;
-}
-
-void main_1() {
-  float2 x_11 = float2(0.0f, 0.0f);
-  float x_12 = x_200(x_11);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/219.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/219.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 413b1f0..0000000
--- a/test/tint/bug/tint/219.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-float x_200(inout float2 x_201) {
-  float x_212 = x_201.x;
-  return x_212;
-}
-
-void main_1() {
-  float2 x_11 = float2(0.0f, 0.0f);
-  float x_12 = x_200(x_11);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/219.spvasm.expected.glsl b/test/tint/bug/tint/219.spvasm.expected.glsl
deleted file mode 100644
index 0564a29..0000000
--- a/test/tint/bug/tint/219.spvasm.expected.glsl
+++ /dev/null
@@ -1,14 +0,0 @@
-#version 310 es
-
-float x_200(inout vec2 x_201) {
-  float x_212 = x_201.x;
-  return x_212;
-}
-void main_1() {
-  vec2 x_11 = vec2(0.0f);
-  float x_12 = x_200(x_11);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/219.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/219.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 9327c88..0000000
--- a/test/tint/bug/tint/219.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-
-float x_200(inout float2 x_201) {
-  float x_212 = x_201.x;
-  return x_212;
-}
-
-void main_1() {
-  float2 x_11 = (0.0f).xx;
-  float x_12 = x_200(x_11);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/219.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/219.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 9327c88..0000000
--- a/test/tint/bug/tint/219.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-
-float x_200(inout float2 x_201) {
-  float x_212 = x_201.x;
-  return x_212;
-}
-
-void main_1() {
-  float2 x_11 = (0.0f).xx;
-  float x_12 = x_200(x_11);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/219.spvasm.expected.msl b/test/tint/bug/tint/219.spvasm.expected.msl
deleted file mode 100644
index f943650..0000000
--- a/test/tint/bug/tint/219.spvasm.expected.msl
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-float x_200(thread float2* const x_201) {
-  float const x_212 = (*x_201).x;
-  return x_212;
-}
-
-void main_1() {
-  float2 x_11 = 0.0f;
-  float const x_12 = x_200((&x_11));
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/219.spvasm.expected.spvasm b/test/tint/bug/tint/219.spvasm.expected.spvasm
deleted file mode 100644
index 4f6e36b..0000000
--- a/test/tint/bug/tint/219.spvasm.expected.spvasm
+++ /dev/null
@@ -1,44 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %x_200 "x_200"
-               OpName %x_201_root "x_201_root"
-               OpName %x_212 "x_212"
-               OpName %main_1 "main_1"
-               OpName %x_11 "x_11"
-               OpName %x_12 "x_12"
-               OpName %main "main"
-      %float = OpTypeFloat 32
-    %v2float = OpTypeVector %float 2
-%_ptr_Function_v2float = OpTypePointer Function %v2float
-          %6 = OpTypeFunction %float %_ptr_Function_v2float
-%_ptr_Function_float = OpTypePointer Function %float
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-       %void = OpTypeVoid
-         %15 = OpTypeFunction %void
-         %18 = OpConstantNull %v2float
-      %x_200 = OpFunction %float None %6
- %x_201_root = OpFunctionParameter %_ptr_Function_v2float
-          %7 = OpLabel
-          %8 = OpAccessChain %_ptr_Function_float %x_201_root %uint_0
-      %x_212 = OpLoad %float %8 None
-               OpReturnValue %x_212
-               OpFunctionEnd
-     %main_1 = OpFunction %void None %15
-         %16 = OpLabel
-       %x_11 = OpVariable %_ptr_Function_v2float Function %18
-       %x_12 = OpFunctionCall %float %x_200 %x_11
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %15
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/413.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/413.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 45725c1..0000000
--- a/test/tint/bug/tint/413.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-Texture2D<uint4> Src : register(t0);
-RWTexture2D<uint4> Dst : register(u1);
-
-void main_1() {
-  uint4 srcValue = uint4(0u, 0u, 0u, 0u);
-  srcValue = Src.Load(int3(0, 0, 0));
-  srcValue.x = (srcValue.x + 1u);
-  uint4 x_27 = srcValue;
-  Dst[(0).xx] = x_27;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/413.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/413.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 45725c1..0000000
--- a/test/tint/bug/tint/413.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-Texture2D<uint4> Src : register(t0);
-RWTexture2D<uint4> Dst : register(u1);
-
-void main_1() {
-  uint4 srcValue = uint4(0u, 0u, 0u, 0u);
-  srcValue = Src.Load(int3(0, 0, 0));
-  srcValue.x = (srcValue.x + 1u);
-  uint4 x_27 = srcValue;
-  Dst[(0).xx] = x_27;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/413.spvasm.expected.glsl b/test/tint/bug/tint/413.spvasm.expected.glsl
deleted file mode 100644
index 8ca4da9..0000000
--- a/test/tint/bug/tint/413.spvasm.expected.glsl
+++ /dev/null
@@ -1,29 +0,0 @@
-#version 310 es
-
-
-struct TintTextureUniformData {
-  uint tint_builtin_value_0;
-  uint tint_builtin_value_1;
-};
-
-layout(binding = 1, r32ui) uniform highp writeonly uimage2D Dst;
-layout(binding = 0, std140)
-uniform tint_symbol_1_ubo {
-  TintTextureUniformData inner;
-} v;
-uniform highp usampler2D Src;
-void main_1() {
-  uvec4 srcValue = uvec4(0u);
-  uint v_1 = (v.inner.tint_builtin_value_0 - 1u);
-  uint v_2 = min(uint(0), v_1);
-  uvec2 v_3 = (uvec2(textureSize(Src, int(v_2))) - uvec2(1u));
-  ivec2 v_4 = ivec2(min(uvec2(ivec2(0)), v_3));
-  srcValue = texelFetch(Src, v_4, int(v_2));
-  srcValue.x = (srcValue.x + 1u);
-  uvec4 x_27 = srcValue;
-  imageStore(Dst, ivec2(0), x_27);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/413.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/413.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c6e4e4a..0000000
--- a/test/tint/bug/tint/413.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-
-Texture2D<uint4> Src : register(t0);
-RWTexture2D<uint4> Dst : register(u1);
-void main_1() {
-  uint4 srcValue = (0u).xxxx;
-  srcValue = Src.Load(int3((int(0)).xx, int(0)));
-  srcValue.x = (srcValue.x + 1u);
-  uint4 x_27 = srcValue;
-  Dst[(int(0)).xx] = x_27;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/413.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/413.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c6e4e4a..0000000
--- a/test/tint/bug/tint/413.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-
-Texture2D<uint4> Src : register(t0);
-RWTexture2D<uint4> Dst : register(u1);
-void main_1() {
-  uint4 srcValue = (0u).xxxx;
-  srcValue = Src.Load(int3((int(0)).xx, int(0)));
-  srcValue.x = (srcValue.x + 1u);
-  uint4 x_27 = srcValue;
-  Dst[(int(0)).xx] = x_27;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/413.spvasm.expected.msl b/test/tint/bug/tint/413.spvasm.expected.msl
deleted file mode 100644
index f926232..0000000
--- a/test/tint/bug/tint/413.spvasm.expected.msl
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  texture2d<uint, access::sample> Src;
-  texture2d<uint, access::write> Dst;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  uint4 srcValue = 0u;
-  uint const v = min(uint(0), (tint_module_vars.Src.get_num_mip_levels() - 1u));
-  uint2 const v_1 = (uint2(tint_module_vars.Src.get_width(v), tint_module_vars.Src.get_height(v)) - uint2(1u));
-  srcValue = tint_module_vars.Src.read(min(uint2(int2(0)), v_1), v);
-  srcValue.x = (srcValue.x + 1u);
-  uint4 const x_27 = srcValue;
-  tint_module_vars.Dst.write(x_27, uint2(int2(0)));
-}
-
-kernel void v_2(texture2d<uint, access::sample> Src [[texture(0)]], texture2d<uint, access::write> Dst [[texture(1)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.Src=Src, .Dst=Dst};
-  main_1(tint_module_vars);
-}
diff --git a/test/tint/bug/tint/413.spvasm.expected.spvasm b/test/tint/bug/tint/413.spvasm.expected.spvasm
deleted file mode 100644
index 9cb6bf8..0000000
--- a/test/tint/bug/tint/413.spvasm.expected.spvasm
+++ /dev/null
@@ -1,72 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 46
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-         %24 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %Src "Src"
-               OpName %Dst "Dst"
-               OpName %main_1 "main_1"
-               OpName %srcValue "srcValue"
-               OpName %x_27 "x_27"
-               OpName %main "main"
-               OpDecorate %Src DescriptorSet 0
-               OpDecorate %Src Binding 0
-               OpDecorate %Dst DescriptorSet 0
-               OpDecorate %Dst Binding 1
-               OpDecorate %Dst NonReadable
-       %uint = OpTypeInt 32 0
-          %3 = OpTypeImage %uint 2D 0 0 0 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-        %Src = OpVariable %_ptr_UniformConstant_3 UniformConstant
-          %7 = OpTypeImage %uint 2D 0 0 0 2 R32ui
-%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
-        %Dst = OpVariable %_ptr_UniformConstant_7 UniformConstant
-       %void = OpTypeVoid
-         %10 = OpTypeFunction %void
-     %v4uint = OpTypeVector %uint 4
-%_ptr_Function_v4uint = OpTypePointer Function %v4uint
-         %15 = OpConstantNull %v4uint
-     %uint_1 = OpConstant %uint 1
-        %int = OpTypeInt 32 1
-      %int_0 = OpConstant %int 0
-     %v2uint = OpTypeVector %uint 2
-         %28 = OpConstantComposite %v2uint %uint_1 %uint_1
-      %v2int = OpTypeVector %int 2
-         %30 = OpConstantNull %v2int
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %main_1 = OpFunction %void None %10
-         %11 = OpLabel
-   %srcValue = OpVariable %_ptr_Function_v4uint Function %15
-         %16 = OpLoad %3 %Src None
-         %17 = OpImageQueryLevels %uint %16
-         %18 = OpISub %uint %17 %uint_1
-         %20 = OpBitcast %uint %int_0
-         %23 = OpExtInst %uint %24 UMin %20 %18
-         %25 = OpImageQuerySizeLod %v2uint %16 %23
-         %27 = OpISub %v2uint %25 %28
-         %29 = OpBitcast %v2uint %30
-         %32 = OpExtInst %v2uint %24 UMin %29 %27
-         %33 = OpImageFetch %v4uint %16 %32 Lod %23
-               OpStore %srcValue %33 None
-         %34 = OpAccessChain %_ptr_Function_uint %srcValue %uint_0
-         %37 = OpLoad %uint %34 None
-         %38 = OpIAdd %uint %37 %uint_1
-         %39 = OpAccessChain %_ptr_Function_uint %srcValue %uint_0
-               OpStore %39 %38 None
-       %x_27 = OpLoad %v4uint %srcValue None
-         %41 = OpLoad %7 %Dst None
-               OpImageWrite %41 %30 %x_27 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %10
-         %44 = OpLabel
-         %45 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/870.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.dxc.hlsl
deleted file mode 100644
index ec2a54f..0000000
--- a/test/tint/bug/tint/870.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,29 +0,0 @@
-ByteAddressBuffer sspp962805860buildInformation : register(t2);
-
-typedef int sspp962805860buildInformation_load_ret[6];
-sspp962805860buildInformation_load_ret sspp962805860buildInformation_load(uint offset) {
-  int arr[6] = (int[6])0;
-  {
-    for(uint i = 0u; (i < 6u); i = (i + 1u)) {
-      arr[i] = asint(sspp962805860buildInformation.Load((offset + (i * 4u))));
-    }
-  }
-  return arr;
-}
-
-void main_1() {
-  int orientation[6] = (int[6])0;
-  int x_23[6] = sspp962805860buildInformation_load(36u);
-  orientation[0] = x_23[0u];
-  orientation[1] = x_23[1u];
-  orientation[2] = x_23[2u];
-  orientation[3] = x_23[3u];
-  orientation[4] = x_23[4u];
-  orientation[5] = x_23[5u];
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/870.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ec2a54f..0000000
--- a/test/tint/bug/tint/870.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,29 +0,0 @@
-ByteAddressBuffer sspp962805860buildInformation : register(t2);
-
-typedef int sspp962805860buildInformation_load_ret[6];
-sspp962805860buildInformation_load_ret sspp962805860buildInformation_load(uint offset) {
-  int arr[6] = (int[6])0;
-  {
-    for(uint i = 0u; (i < 6u); i = (i + 1u)) {
-      arr[i] = asint(sspp962805860buildInformation.Load((offset + (i * 4u))));
-    }
-  }
-  return arr;
-}
-
-void main_1() {
-  int orientation[6] = (int[6])0;
-  int x_23[6] = sspp962805860buildInformation_load(36u);
-  orientation[0] = x_23[0u];
-  orientation[1] = x_23[1u];
-  orientation[2] = x_23[2u];
-  orientation[3] = x_23[3u];
-  orientation[4] = x_23[4u];
-  orientation[5] = x_23[5u];
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/bug/tint/870.spvasm.expected.glsl b/test/tint/bug/tint/870.spvasm.expected.glsl
deleted file mode 100644
index 599c4d5..0000000
--- a/test/tint/bug/tint/870.spvasm.expected.glsl
+++ /dev/null
@@ -1,34 +0,0 @@
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct sspp962805860buildInformationS {
-  vec4 footprint;
-  vec4 offset;
-  int essence;
-  int orientation[6];
-  uint tint_pad_0;
-};
-
-struct x_B4_BuildInformation {
-  sspp962805860buildInformationS passthru;
-};
-
-layout(binding = 2, std430)
-buffer f_sspp962805860buildInformation_block_ssbo {
-  x_B4_BuildInformation inner;
-} v;
-void main_1() {
-  int orientation[6] = int[6](0, 0, 0, 0, 0, 0);
-  int x_23[6] = v.inner.passthru.orientation;
-  orientation[0u] = x_23[0u];
-  orientation[1u] = x_23[1u];
-  orientation[2u] = x_23[2u];
-  orientation[3u] = x_23[3u];
-  orientation[4u] = x_23[4u];
-  orientation[5u] = x_23[5u];
-}
-void main() {
-  main_1();
-}
diff --git a/test/tint/bug/tint/870.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 29a6496..0000000
--- a/test/tint/bug/tint/870.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,39 +0,0 @@
-
-ByteAddressBuffer sspp962805860buildInformation : register(t2);
-typedef int ary_ret[6];
-ary_ret v(uint offset) {
-  int a[6] = (int[6])0;
-  {
-    uint v_1 = 0u;
-    v_1 = 0u;
-    while(true) {
-      uint v_2 = v_1;
-      if ((v_2 >= 6u)) {
-        break;
-      }
-      a[v_2] = asint(sspp962805860buildInformation.Load((offset + (v_2 * 4u))));
-      {
-        v_1 = (v_2 + 1u);
-      }
-      continue;
-    }
-  }
-  int v_3[6] = a;
-  return v_3;
-}
-
-void main_1() {
-  int orientation[6] = (int[6])0;
-  int x_23[6] = v(36u);
-  orientation[0u] = x_23[0u];
-  orientation[1u] = x_23[1u];
-  orientation[2u] = x_23[2u];
-  orientation[3u] = x_23[3u];
-  orientation[4u] = x_23[4u];
-  orientation[5u] = x_23[5u];
-}
-
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/870.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 29a6496..0000000
--- a/test/tint/bug/tint/870.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,39 +0,0 @@
-
-ByteAddressBuffer sspp962805860buildInformation : register(t2);
-typedef int ary_ret[6];
-ary_ret v(uint offset) {
-  int a[6] = (int[6])0;
-  {
-    uint v_1 = 0u;
-    v_1 = 0u;
-    while(true) {
-      uint v_2 = v_1;
-      if ((v_2 >= 6u)) {
-        break;
-      }
-      a[v_2] = asint(sspp962805860buildInformation.Load((offset + (v_2 * 4u))));
-      {
-        v_1 = (v_2 + 1u);
-      }
-      continue;
-    }
-  }
-  int v_3[6] = a;
-  return v_3;
-}
-
-void main_1() {
-  int orientation[6] = (int[6])0;
-  int x_23[6] = v(36u);
-  orientation[0u] = x_23[0u];
-  orientation[1u] = x_23[1u];
-  orientation[2u] = x_23[2u];
-  orientation[3u] = x_23[3u];
-  orientation[4u] = x_23[4u];
-  orientation[5u] = x_23[5u];
-}
-
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/bug/tint/870.spvasm.expected.msl b/test/tint/bug/tint/870.spvasm.expected.msl
deleted file mode 100644
index d56e1a8..0000000
--- a/test/tint/bug/tint/870.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct sspp962805860buildInformationS {
-  /* 0x0000 */ float4 footprint;
-  /* 0x0010 */ float4 offset;
-  /* 0x0020 */ int essence;
-  /* 0x0024 */ tint_array<int, 6> orientation;
-  /* 0x003c */ tint_array<int8_t, 4> tint_pad;
-};
-
-struct x_B4_BuildInformation {
-  /* 0x0000 */ sspp962805860buildInformationS passthru;
-};
-
-struct tint_module_vars_struct {
-  const device x_B4_BuildInformation* sspp962805860buildInformation;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  tint_array<int, 6> orientation = {};
-  tint_array<int, 6> const x_23 = (*tint_module_vars.sspp962805860buildInformation).passthru.orientation;
-  orientation[0u] = x_23[0u];
-  orientation[1u] = x_23[1u];
-  orientation[2u] = x_23[2u];
-  orientation[3u] = x_23[3u];
-  orientation[4u] = x_23[4u];
-  orientation[5u] = x_23[5u];
-}
-
-fragment void v(const device x_B4_BuildInformation* sspp962805860buildInformation [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sspp962805860buildInformation=sspp962805860buildInformation};
-  main_1(tint_module_vars);
-}
diff --git a/test/tint/bug/tint/870.spvasm.expected.spvasm b/test/tint/bug/tint/870.spvasm.expected.spvasm
deleted file mode 100644
index 144b371..0000000
--- a/test/tint/bug/tint/870.spvasm.expected.spvasm
+++ /dev/null
@@ -1,125 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 68
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %main "main"
-               OpExecutionMode %main OriginUpperLeft
-               OpMemberName %sspp962805860buildInformationS_tint_explicit_layout 0 "footprint"
-               OpMemberName %sspp962805860buildInformationS_tint_explicit_layout 1 "offset"
-               OpMemberName %sspp962805860buildInformationS_tint_explicit_layout 2 "essence"
-               OpMemberName %sspp962805860buildInformationS_tint_explicit_layout 3 "orientation"
-               OpName %sspp962805860buildInformationS_tint_explicit_layout "sspp962805860buildInformationS_tint_explicit_layout"
-               OpMemberName %x_B4_BuildInformation_tint_explicit_layout 0 "passthru"
-               OpName %x_B4_BuildInformation_tint_explicit_layout "x_B4_BuildInformation_tint_explicit_layout"
-               OpMemberName %sspp962805860buildInformation_block_tint_explicit_layout 0 "inner"
-               OpName %sspp962805860buildInformation_block_tint_explicit_layout "sspp962805860buildInformation_block_tint_explicit_layout"
-               OpName %main_1 "main_1"
-               OpName %orientation "orientation"
-               OpName %x_23 "x_23"
-               OpName %main "main"
-               OpName %tint_convert_explicit_layout "tint_convert_explicit_layout"
-               OpName %tint_source "tint_source"
-               OpMemberDecorate %sspp962805860buildInformationS_tint_explicit_layout 0 Offset 0
-               OpMemberDecorate %sspp962805860buildInformationS_tint_explicit_layout 1 Offset 16
-               OpMemberDecorate %sspp962805860buildInformationS_tint_explicit_layout 2 Offset 32
-               OpDecorate %_arr_int_uint_6 ArrayStride 4
-               OpMemberDecorate %sspp962805860buildInformationS_tint_explicit_layout 3 Offset 36
-               OpMemberDecorate %x_B4_BuildInformation_tint_explicit_layout 0 Offset 0
-               OpMemberDecorate %sspp962805860buildInformation_block_tint_explicit_layout 0 Offset 0
-               OpDecorate %sspp962805860buildInformation_block_tint_explicit_layout Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 2
-               OpDecorate %1 NonWritable
-      %float = OpTypeFloat 32
-    %v4float = OpTypeVector %float 4
-        %int = OpTypeInt 32 1
-       %uint = OpTypeInt 32 0
-     %uint_6 = OpConstant %uint 6
-%_arr_int_uint_6 = OpTypeArray %int %uint_6
-%sspp962805860buildInformationS_tint_explicit_layout = OpTypeStruct %v4float %v4float %int %_arr_int_uint_6
-%x_B4_BuildInformation_tint_explicit_layout = OpTypeStruct %sspp962805860buildInformationS_tint_explicit_layout
-%sspp962805860buildInformation_block_tint_explicit_layout = OpTypeStruct %x_B4_BuildInformation_tint_explicit_layout
-%_ptr_StorageBuffer_sspp962805860buildInformation_block_tint_explicit_layout = OpTypePointer StorageBuffer %sspp962805860buildInformation_block_tint_explicit_layout
-          %1 = OpVariable %_ptr_StorageBuffer_sspp962805860buildInformation_block_tint_explicit_layout StorageBuffer
-       %void = OpTypeVoid
-         %14 = OpTypeFunction %void
-%_arr_int_uint_6_0 = OpTypeArray %int %uint_6
-%_ptr_Function__arr_int_uint_6_0 = OpTypePointer Function %_arr_int_uint_6_0
-         %19 = OpConstantNull %_arr_int_uint_6_0
-%_ptr_StorageBuffer__arr_int_uint_6 = OpTypePointer StorageBuffer %_arr_int_uint_6
-     %uint_0 = OpConstant %uint 0
-     %uint_3 = OpConstant %uint 3
-%_ptr_Function_int = OpTypePointer Function %int
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-     %uint_4 = OpConstant %uint 4
-     %uint_5 = OpConstant %uint 5
-         %48 = OpTypeFunction %_arr_int_uint_6_0 %_arr_int_uint_6
-%_ptr_Function__arr_int_uint_6 = OpTypePointer Function %_arr_int_uint_6
-       %bool = OpTypeBool
-     %main_1 = OpFunction %void None %14
-         %15 = OpLabel
-%orientation = OpVariable %_ptr_Function__arr_int_uint_6_0 Function %19
-         %20 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_6 %1 %uint_0 %uint_0 %uint_3
-         %24 = OpLoad %_arr_int_uint_6 %20 None
-       %x_23 = OpFunctionCall %_arr_int_uint_6_0 %tint_convert_explicit_layout %24
-         %27 = OpAccessChain %_ptr_Function_int %orientation %uint_0
-         %29 = OpCompositeExtract %int %x_23 0
-               OpStore %27 %29 None
-         %30 = OpAccessChain %_ptr_Function_int %orientation %uint_1
-         %32 = OpCompositeExtract %int %x_23 1
-               OpStore %30 %32 None
-         %33 = OpAccessChain %_ptr_Function_int %orientation %uint_2
-         %35 = OpCompositeExtract %int %x_23 2
-               OpStore %33 %35 None
-         %36 = OpAccessChain %_ptr_Function_int %orientation %uint_3
-         %37 = OpCompositeExtract %int %x_23 3
-               OpStore %36 %37 None
-         %38 = OpAccessChain %_ptr_Function_int %orientation %uint_4
-         %40 = OpCompositeExtract %int %x_23 4
-               OpStore %38 %40 None
-         %41 = OpAccessChain %_ptr_Function_int %orientation %uint_5
-         %43 = OpCompositeExtract %int %x_23 5
-               OpStore %41 %43 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %14
-         %45 = OpLabel
-         %46 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
-%tint_convert_explicit_layout = OpFunction %_arr_int_uint_6_0 None %48
-%tint_source = OpFunctionParameter %_arr_int_uint_6
-         %49 = OpLabel
-         %50 = OpVariable %_ptr_Function__arr_int_uint_6 Function
-         %52 = OpVariable %_ptr_Function__arr_int_uint_6_0 Function %19
-               OpStore %50 %tint_source
-               OpBranch %53
-         %53 = OpLabel
-               OpBranch %56
-         %56 = OpLabel
-         %58 = OpPhi %uint %uint_0 %53 %59 %55
-               OpLoopMerge %57 %55 None
-               OpBranch %54
-         %54 = OpLabel
-         %60 = OpUGreaterThanEqual %bool %58 %uint_6
-               OpSelectionMerge %62 None
-               OpBranchConditional %60 %63 %62
-         %63 = OpLabel
-               OpBranch %57
-         %62 = OpLabel
-         %64 = OpAccessChain %_ptr_Function_int %50 %58
-         %65 = OpLoad %int %64 None
-         %66 = OpAccessChain %_ptr_Function_int %52 %58
-               OpStore %66 %65 None
-               OpBranch %55
-         %55 = OpLabel
-         %59 = OpIAdd %uint %58 %uint_1
-               OpBranch %56
-         %57 = OpLabel
-         %67 = OpLoad %_arr_int_uint_6_0 %52 None
-               OpReturnValue %67
-               OpFunctionEnd
diff --git a/test/tint/bug/tint/977.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/977.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 151a323..0000000
--- a/test/tint/bug/tint/977.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-static uint3 gl_GlobalInvocationID = uint3(0u, 0u, 0u);
-RWByteAddressBuffer resultMatrix : register(u2);
-
-float binaryOperation_f1_f1_(inout float a, inout float b) {
-  float x_26 = 0.0f;
-  if ((b == 0.0f)) {
-    return 1.0f;
-  }
-  float x_21 = b;
-  if (!((round((x_21 - (2.0f * floor((x_21 / 2.0f))))) == 1.0f))) {
-    x_26 = pow(abs(a), b);
-  } else {
-    x_26 = (float(sign(a)) * pow(abs(a), b));
-  }
-  float x_41 = x_26;
-  return x_41;
-}
-
-void main_1() {
-  uint tint_symbol_3 = 0u;
-  resultMatrix.GetDimensions(tint_symbol_3);
-  uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u);
-  int index = 0;
-  int a_1 = 0;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  index = asint(gl_GlobalInvocationID.x);
-  a_1 = -10;
-  int x_63 = index;
-  param = -4.0f;
-  param_1 = -3.0f;
-  float x_68 = binaryOperation_f1_f1_(param, param_1);
-  resultMatrix.Store((4u * min(uint(x_63), (tint_symbol_4 - 1u))), asuint(x_68));
-  return;
-}
-
-struct tint_symbol_1 {
-  uint3 gl_GlobalInvocationID_param : SV_DispatchThreadID;
-};
-
-void main_inner(uint3 gl_GlobalInvocationID_param) {
-  gl_GlobalInvocationID = gl_GlobalInvocationID_param;
-  main_1();
-}
-
-[numthreads(1, 1, 1)]
-void main(tint_symbol_1 tint_symbol) {
-  main_inner(tint_symbol.gl_GlobalInvocationID_param);
-  return;
-}
diff --git a/test/tint/bug/tint/977.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/977.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 151a323..0000000
--- a/test/tint/bug/tint/977.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-static uint3 gl_GlobalInvocationID = uint3(0u, 0u, 0u);
-RWByteAddressBuffer resultMatrix : register(u2);
-
-float binaryOperation_f1_f1_(inout float a, inout float b) {
-  float x_26 = 0.0f;
-  if ((b == 0.0f)) {
-    return 1.0f;
-  }
-  float x_21 = b;
-  if (!((round((x_21 - (2.0f * floor((x_21 / 2.0f))))) == 1.0f))) {
-    x_26 = pow(abs(a), b);
-  } else {
-    x_26 = (float(sign(a)) * pow(abs(a), b));
-  }
-  float x_41 = x_26;
-  return x_41;
-}
-
-void main_1() {
-  uint tint_symbol_3 = 0u;
-  resultMatrix.GetDimensions(tint_symbol_3);
-  uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u);
-  int index = 0;
-  int a_1 = 0;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  index = asint(gl_GlobalInvocationID.x);
-  a_1 = -10;
-  int x_63 = index;
-  param = -4.0f;
-  param_1 = -3.0f;
-  float x_68 = binaryOperation_f1_f1_(param, param_1);
-  resultMatrix.Store((4u * min(uint(x_63), (tint_symbol_4 - 1u))), asuint(x_68));
-  return;
-}
-
-struct tint_symbol_1 {
-  uint3 gl_GlobalInvocationID_param : SV_DispatchThreadID;
-};
-
-void main_inner(uint3 gl_GlobalInvocationID_param) {
-  gl_GlobalInvocationID = gl_GlobalInvocationID_param;
-  main_1();
-}
-
-[numthreads(1, 1, 1)]
-void main(tint_symbol_1 tint_symbol) {
-  main_inner(tint_symbol.gl_GlobalInvocationID_param);
-  return;
-}
diff --git a/test/tint/bug/tint/977.spvasm.expected.glsl b/test/tint/bug/tint/977.spvasm.expected.glsl
deleted file mode 100644
index b9e15e8..0000000
--- a/test/tint/bug/tint/977.spvasm.expected.glsl
+++ /dev/null
@@ -1,44 +0,0 @@
-#version 310 es
-
-uvec3 v = uvec3(0u);
-layout(binding = 2, std430)
-buffer ResultMatrix_1_ssbo {
-  float numbers[];
-} resultMatrix;
-float binaryOperation_f1_f1_(inout float a, inout float b) {
-  float x_26 = 0.0f;
-  if ((b == 0.0f)) {
-    return 1.0f;
-  }
-  float x_21 = b;
-  if (!((round((x_21 - (2.0f * floor((x_21 / 2.0f))))) == 1.0f))) {
-    x_26 = pow(abs(a), b);
-  } else {
-    x_26 = (sign(a) * pow(abs(a), b));
-  }
-  float x_41 = x_26;
-  return x_41;
-}
-void main_1() {
-  int index = 0;
-  int a_1 = 0;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  index = int(v.x);
-  a_1 = -10;
-  int x_63 = index;
-  param = -4.0f;
-  param_1 = -3.0f;
-  float x_68 = binaryOperation_f1_f1_(param, param_1);
-  uint v_1 = (uint(resultMatrix.numbers.length()) - 1u);
-  uint v_2 = min(uint(x_63), v_1);
-  resultMatrix.numbers[v_2] = x_68;
-}
-void main_inner(uvec3 v_3) {
-  v = v_3;
-  main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_inner(gl_GlobalInvocationID);
-}
diff --git a/test/tint/bug/tint/977.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/977.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 3c9a8c4..0000000
--- a/test/tint/bug/tint/977.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-struct main_inputs {
-  uint3 gl_GlobalInvocationID_param : SV_DispatchThreadID;
-};
-
-
-static uint3 gl_GlobalInvocationID = (0u).xxx;
-RWByteAddressBuffer resultMatrix : register(u2);
-float binaryOperation_f1_f1_(inout float a, inout float b) {
-  float x_26 = 0.0f;
-  if ((b == 0.0f)) {
-    return 1.0f;
-  }
-  float x_21 = b;
-  if (!((round((x_21 - (2.0f * floor((x_21 / 2.0f))))) == 1.0f))) {
-    x_26 = pow(abs(a), b);
-  } else {
-    float v = float(sign(a));
-    x_26 = (v * pow(abs(a), b));
-  }
-  float x_41 = x_26;
-  return x_41;
-}
-
-void main_1() {
-  int index = int(0);
-  int a_1 = int(0);
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  index = asint(gl_GlobalInvocationID.x);
-  a_1 = int(-10);
-  int x_63 = index;
-  param = -4.0f;
-  param_1 = -3.0f;
-  float x_68 = binaryOperation_f1_f1_(param, param_1);
-  uint v_1 = 0u;
-  resultMatrix.GetDimensions(v_1);
-  uint v_2 = ((v_1 / 4u) - 1u);
-  resultMatrix.Store((0u + (min(uint(x_63), v_2) * 4u)), asuint(x_68));
-}
-
-void main_inner(uint3 gl_GlobalInvocationID_param) {
-  gl_GlobalInvocationID = gl_GlobalInvocationID_param;
-  main_1();
-}
-
-[numthreads(1, 1, 1)]
-void main(main_inputs inputs) {
-  main_inner(inputs.gl_GlobalInvocationID_param);
-}
-
diff --git a/test/tint/bug/tint/977.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/977.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 3c9a8c4..0000000
--- a/test/tint/bug/tint/977.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-struct main_inputs {
-  uint3 gl_GlobalInvocationID_param : SV_DispatchThreadID;
-};
-
-
-static uint3 gl_GlobalInvocationID = (0u).xxx;
-RWByteAddressBuffer resultMatrix : register(u2);
-float binaryOperation_f1_f1_(inout float a, inout float b) {
-  float x_26 = 0.0f;
-  if ((b == 0.0f)) {
-    return 1.0f;
-  }
-  float x_21 = b;
-  if (!((round((x_21 - (2.0f * floor((x_21 / 2.0f))))) == 1.0f))) {
-    x_26 = pow(abs(a), b);
-  } else {
-    float v = float(sign(a));
-    x_26 = (v * pow(abs(a), b));
-  }
-  float x_41 = x_26;
-  return x_41;
-}
-
-void main_1() {
-  int index = int(0);
-  int a_1 = int(0);
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  index = asint(gl_GlobalInvocationID.x);
-  a_1 = int(-10);
-  int x_63 = index;
-  param = -4.0f;
-  param_1 = -3.0f;
-  float x_68 = binaryOperation_f1_f1_(param, param_1);
-  uint v_1 = 0u;
-  resultMatrix.GetDimensions(v_1);
-  uint v_2 = ((v_1 / 4u) - 1u);
-  resultMatrix.Store((0u + (min(uint(x_63), v_2) * 4u)), asuint(x_68));
-}
-
-void main_inner(uint3 gl_GlobalInvocationID_param) {
-  gl_GlobalInvocationID = gl_GlobalInvocationID_param;
-  main_1();
-}
-
-[numthreads(1, 1, 1)]
-void main(main_inputs inputs) {
-  main_inner(inputs.gl_GlobalInvocationID_param);
-}
-
diff --git a/test/tint/bug/tint/977.spvasm.expected.msl b/test/tint/bug/tint/977.spvasm.expected.msl
deleted file mode 100644
index f1600c9..0000000
--- a/test/tint/bug/tint/977.spvasm.expected.msl
+++ /dev/null
@@ -1,65 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct ResultMatrix {
-  /* 0x0000 */ tint_array<float, 1> numbers;
-};
-
-struct tint_module_vars_struct {
-  thread uint3* gl_GlobalInvocationID;
-  device ResultMatrix* resultMatrix;
-  const constant tint_array<uint4, 1>* tint_storage_buffer_sizes;
-};
-
-float binaryOperation_f1_f1_(thread float* const a, thread float* const b) {
-  float x_26 = 0.0f;
-  if (((*b) == 0.0f)) {
-    return 1.0f;
-  }
-  float const x_21 = (*b);
-  if (!((rint((x_21 - (2.0f * floor((x_21 / 2.0f))))) == 1.0f))) {
-    x_26 = powr(abs((*a)), (*b));
-  } else {
-    x_26 = (sign((*a)) * powr(abs((*a)), (*b)));
-  }
-  float const x_41 = x_26;
-  return x_41;
-}
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  int index = 0;
-  int a_1 = 0;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  index = as_type<int>((*tint_module_vars.gl_GlobalInvocationID).x);
-  a_1 = -10;
-  int const x_63 = index;
-  param = -4.0f;
-  param_1 = -3.0f;
-  float const x_68 = binaryOperation_f1_f1_((&param), (&param_1));
-  uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u);
-  (*tint_module_vars.resultMatrix).numbers[min(uint(x_63), v)] = x_68;
-}
-
-void main_inner(uint3 gl_GlobalInvocationID_param, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.gl_GlobalInvocationID) = gl_GlobalInvocationID_param;
-  main_1(tint_module_vars);
-}
-
-kernel void v_1(uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], device ResultMatrix* resultMatrix [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
-  thread uint3 gl_GlobalInvocationID = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.gl_GlobalInvocationID=(&gl_GlobalInvocationID), .resultMatrix=resultMatrix, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
-  main_inner(gl_GlobalInvocationID_param, tint_module_vars);
-}
diff --git a/test/tint/bug/tint/977.spvasm.expected.spvasm b/test/tint/bug/tint/977.spvasm.expected.spvasm
deleted file mode 100644
index fd09232..0000000
--- a/test/tint/bug/tint/977.spvasm.expected.spvasm
+++ /dev/null
@@ -1,169 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 101
-; Schema: 0
-               OpCapability Shader
-         %40 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main" %main_global_invocation_id_Input
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %gl_GlobalInvocationID "gl_GlobalInvocationID"
-               OpMemberName %ResultMatrix_tint_explicit_layout 0 "numbers"
-               OpName %ResultMatrix_tint_explicit_layout "ResultMatrix_tint_explicit_layout"
-               OpName %resultMatrix "resultMatrix"
-               OpName %main_global_invocation_id_Input "main_global_invocation_id_Input"
-               OpName %binaryOperation_f1_f1_ "binaryOperation_f1_f1_"
-               OpName %a_root "a_root"
-               OpName %b_root "b_root"
-               OpName %return_value "return_value"
-               OpName %continue_execution "continue_execution"
-               OpName %x_26 "x_26"
-               OpName %x_21 "x_21"
-               OpName %x_41 "x_41"
-               OpName %main_1 "main_1"
-               OpName %index "index"
-               OpName %a_1 "a_1"
-               OpName %param "param"
-               OpName %param_1 "param_1"
-               OpName %x_63 "x_63"
-               OpName %x_68 "x_68"
-               OpName %main_inner "main_inner"
-               OpName %gl_GlobalInvocationID_param "gl_GlobalInvocationID_param"
-               OpName %main "main"
-               OpDecorate %_runtimearr_float ArrayStride 4
-               OpMemberDecorate %ResultMatrix_tint_explicit_layout 0 Offset 0
-               OpDecorate %ResultMatrix_tint_explicit_layout Block
-               OpDecorate %resultMatrix DescriptorSet 0
-               OpDecorate %resultMatrix Binding 2
-               OpDecorate %resultMatrix Coherent
-               OpDecorate %main_global_invocation_id_Input BuiltIn GlobalInvocationId
-       %uint = OpTypeInt 32 0
-     %v3uint = OpTypeVector %uint 3
-%_ptr_Private_v3uint = OpTypePointer Private %v3uint
-          %5 = OpConstantNull %v3uint
-%gl_GlobalInvocationID = OpVariable %_ptr_Private_v3uint Private %5
-      %float = OpTypeFloat 32
-%_runtimearr_float = OpTypeRuntimeArray %float
-%ResultMatrix_tint_explicit_layout = OpTypeStruct %_runtimearr_float
-%_ptr_StorageBuffer_ResultMatrix_tint_explicit_layout = OpTypePointer StorageBuffer %ResultMatrix_tint_explicit_layout
-%resultMatrix = OpVariable %_ptr_StorageBuffer_ResultMatrix_tint_explicit_layout StorageBuffer
-%_ptr_Input_v3uint = OpTypePointer Input %v3uint
-%main_global_invocation_id_Input = OpVariable %_ptr_Input_v3uint Input
-%_ptr_Function_float = OpTypePointer Function %float
-         %17 = OpTypeFunction %float %_ptr_Function_float %_ptr_Function_float
-         %20 = OpConstantNull %float
-       %bool = OpTypeBool
-%_ptr_Function_bool = OpTypePointer Function %bool
-       %true = OpConstantTrue %bool
-    %float_0 = OpConstant %float 0
-      %false = OpConstantFalse %bool
-    %float_1 = OpConstant %float 1
-    %float_2 = OpConstant %float 2
-       %void = OpTypeVoid
-         %64 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-         %69 = OpConstantNull %int
-%_ptr_Private_uint = OpTypePointer Private %uint
-     %uint_0 = OpConstant %uint 0
-    %int_n10 = OpConstant %int -10
-   %float_n4 = OpConstant %float -4
-   %float_n3 = OpConstant %float -3
-%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
-         %94 = OpTypeFunction %void %v3uint
-%binaryOperation_f1_f1_ = OpFunction %float None %17
-     %a_root = OpFunctionParameter %_ptr_Function_float
-     %b_root = OpFunctionParameter %_ptr_Function_float
-         %18 = OpLabel
-%return_value = OpVariable %_ptr_Function_float Function %20
-%continue_execution = OpVariable %_ptr_Function_bool Function
-       %x_26 = OpVariable %_ptr_Function_float Function %20
-               OpStore %continue_execution %true
-         %26 = OpLoad %float %b_root None
-         %27 = OpFOrdEqual %bool %26 %float_0
-               OpSelectionMerge %29 None
-               OpBranchConditional %27 %30 %29
-         %30 = OpLabel
-               OpStore %continue_execution %false None
-               OpStore %return_value %float_1 None
-               OpBranch %29
-         %29 = OpLabel
-         %33 = OpLoad %bool %continue_execution None
-               OpSelectionMerge %34 None
-               OpBranchConditional %33 %35 %34
-         %35 = OpLabel
-       %x_21 = OpLoad %float %b_root None
-         %37 = OpFDiv %float %x_21 %float_2
-         %39 = OpExtInst %float %40 Floor %37
-         %41 = OpFMul %float %float_2 %39
-         %42 = OpFSub %float %x_21 %41
-         %43 = OpExtInst %float %40 RoundEven %42
-         %44 = OpFOrdEqual %bool %43 %float_1
-         %45 = OpLogicalNot %bool %44
-               OpSelectionMerge %46 None
-               OpBranchConditional %45 %47 %48
-         %47 = OpLabel
-         %49 = OpLoad %float %a_root None
-         %50 = OpExtInst %float %40 FAbs %49
-         %51 = OpLoad %float %b_root None
-         %52 = OpExtInst %float %40 Pow %50 %51
-               OpStore %x_26 %52 None
-               OpBranch %46
-         %48 = OpLabel
-         %53 = OpLoad %float %a_root None
-         %54 = OpExtInst %float %40 FSign %53
-         %55 = OpLoad %float %a_root None
-         %56 = OpExtInst %float %40 FAbs %55
-         %57 = OpLoad %float %b_root None
-         %58 = OpExtInst %float %40 Pow %56 %57
-         %59 = OpFMul %float %54 %58
-               OpStore %x_26 %59 None
-               OpBranch %46
-         %46 = OpLabel
-       %x_41 = OpLoad %float %x_26 None
-               OpStore %return_value %x_41 None
-               OpBranch %34
-         %34 = OpLabel
-         %61 = OpLoad %float %return_value None
-               OpReturnValue %61
-               OpFunctionEnd
-     %main_1 = OpFunction %void None %64
-         %65 = OpLabel
-      %index = OpVariable %_ptr_Function_int Function %69
-        %a_1 = OpVariable %_ptr_Function_int Function %69
-      %param = OpVariable %_ptr_Function_float Function %20
-    %param_1 = OpVariable %_ptr_Function_float Function %20
-         %73 = OpAccessChain %_ptr_Private_uint %gl_GlobalInvocationID %uint_0
-         %76 = OpLoad %uint %73 None
-         %77 = OpBitcast %int %76
-               OpStore %index %77 None
-               OpStore %a_1 %int_n10 None
-       %x_63 = OpLoad %int %index None
-               OpStore %param %float_n4 None
-               OpStore %param_1 %float_n3 None
-       %x_68 = OpFunctionCall %float %binaryOperation_f1_f1_ %param %param_1
-         %83 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %resultMatrix %uint_0
-         %85 = OpArrayLength %uint %resultMatrix 0
-         %86 = OpISub %uint %85 %uint_1
-         %88 = OpBitcast %uint %x_63
-         %89 = OpExtInst %uint %40 UMin %88 %86
-         %90 = OpAccessChain %_ptr_StorageBuffer_float %resultMatrix %uint_0 %89
-               OpStore %90 %x_68 None
-               OpReturn
-               OpFunctionEnd
- %main_inner = OpFunction %void None %94
-%gl_GlobalInvocationID_param = OpFunctionParameter %v3uint
-         %95 = OpLabel
-               OpStore %gl_GlobalInvocationID %gl_GlobalInvocationID_param None
-         %96 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %64
-         %98 = OpLabel
-         %99 = OpLoad %v3uint %main_global_invocation_id_Input None
-        %100 = OpFunctionCall %void %main_inner %99
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.dxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.dxc.hlsl
deleted file mode 100644
index c8fa638..0000000
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,58 +0,0 @@
-struct strided_arr {
-  float2 el;
-};
-
-RWByteAddressBuffer ssbo : register(u0);
-
-typedef strided_arr mat2x2_stride_16_to_arr_ret[2];
-mat2x2_stride_16_to_arr_ret mat2x2_stride_16_to_arr(float2x2 m) {
-  strided_arr tint_symbol_1 = {m[0u]};
-  strided_arr tint_symbol_2 = {m[1u]};
-  strided_arr tint_symbol_3[2] = {tint_symbol_1, tint_symbol_2};
-  return tint_symbol_3;
-}
-
-float2x2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
-  return float2x2(arr[0u].el, arr[1u].el);
-}
-
-strided_arr ssbo_load_1(uint offset) {
-  strided_arr tint_symbol_4 = {asfloat(ssbo.Load2((offset + 0u)))};
-  return tint_symbol_4;
-}
-
-typedef strided_arr ssbo_load_ret[2];
-ssbo_load_ret ssbo_load(uint offset) {
-  strided_arr arr_1[2] = (strided_arr[2])0;
-  {
-    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
-      arr_1[i] = ssbo_load_1((offset + (i * 16u)));
-    }
-  }
-  return arr_1;
-}
-
-void ssbo_store_1(uint offset, strided_arr value) {
-  ssbo.Store2((offset + 0u), asuint(value.el));
-}
-
-void ssbo_store(uint offset, strided_arr value[2]) {
-  strided_arr array_1[2] = value;
-  {
-    for(uint i_1 = 0u; (i_1 < 2u); i_1 = (i_1 + 1u)) {
-      ssbo_store_1((offset + (i_1 * 16u)), array_1[i_1]);
-    }
-  }
-}
-
-void f_1() {
-  float2x2 tint_symbol = arr_to_mat2x2_stride_16(ssbo_load(0u));
-  ssbo_store(0u, mat2x2_stride_16_to_arr(tint_symbol));
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.fxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.fxc.hlsl
deleted file mode 100644
index c8fa638..0000000
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,58 +0,0 @@
-struct strided_arr {
-  float2 el;
-};
-
-RWByteAddressBuffer ssbo : register(u0);
-
-typedef strided_arr mat2x2_stride_16_to_arr_ret[2];
-mat2x2_stride_16_to_arr_ret mat2x2_stride_16_to_arr(float2x2 m) {
-  strided_arr tint_symbol_1 = {m[0u]};
-  strided_arr tint_symbol_2 = {m[1u]};
-  strided_arr tint_symbol_3[2] = {tint_symbol_1, tint_symbol_2};
-  return tint_symbol_3;
-}
-
-float2x2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
-  return float2x2(arr[0u].el, arr[1u].el);
-}
-
-strided_arr ssbo_load_1(uint offset) {
-  strided_arr tint_symbol_4 = {asfloat(ssbo.Load2((offset + 0u)))};
-  return tint_symbol_4;
-}
-
-typedef strided_arr ssbo_load_ret[2];
-ssbo_load_ret ssbo_load(uint offset) {
-  strided_arr arr_1[2] = (strided_arr[2])0;
-  {
-    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
-      arr_1[i] = ssbo_load_1((offset + (i * 16u)));
-    }
-  }
-  return arr_1;
-}
-
-void ssbo_store_1(uint offset, strided_arr value) {
-  ssbo.Store2((offset + 0u), asuint(value.el));
-}
-
-void ssbo_store(uint offset, strided_arr value[2]) {
-  strided_arr array_1[2] = value;
-  {
-    for(uint i_1 = 0u; (i_1 < 2u); i_1 = (i_1 + 1u)) {
-      ssbo_store_1((offset + (i_1 * 16u)), array_1[i_1]);
-    }
-  }
-}
-
-void f_1() {
-  float2x2 tint_symbol = arr_to_mat2x2_stride_16(ssbo_load(0u));
-  ssbo_store(0u, mat2x2_stride_16_to_arr(tint_symbol));
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.glsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.glsl
deleted file mode 100644
index 5b2480e..0000000
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.glsl
+++ /dev/null
@@ -1,51 +0,0 @@
-#version 310 es
-
-
-struct strided_arr {
-  vec2 el;
-  uint tint_pad_0;
-  uint tint_pad_1;
-};
-
-struct SSBO {
-  strided_arr m[2];
-};
-
-layout(binding = 0, std430)
-buffer ssbo_block_1_ssbo {
-  SSBO inner;
-} v;
-strided_arr[2] mat2x2_stride_16_to_arr(mat2 m) {
-  strided_arr v_1 = strided_arr(m[0u], 0u, 0u);
-  return strided_arr[2](v_1, strided_arr(m[1u], 0u, 0u));
-}
-mat2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
-  return mat2(arr[0u].el, arr[1u].el);
-}
-void tint_store_and_preserve_padding_1(uint target_indices[1], strided_arr value_param) {
-  v.inner.m[target_indices[0u]].el = value_param.el;
-}
-void tint_store_and_preserve_padding(strided_arr value_param[2]) {
-  {
-    uint v_2 = 0u;
-    v_2 = 0u;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 2u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_1(uint[1](v_3), value_param[v_3]);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-}
-void f_1() {
-  tint_store_and_preserve_padding(mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16(v.inner.m)));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.dxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 8a5ca585..0000000
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,80 +0,0 @@
-struct strided_arr {
-  float2 el;
-};
-
-
-RWByteAddressBuffer ssbo : register(u0);
-typedef strided_arr ary_ret[2];
-ary_ret mat2x2_stride_16_to_arr(float2x2 m) {
-  strided_arr v = {m[0u]};
-  strided_arr v_1 = {m[1u]};
-  strided_arr v_2[2] = {v, v_1};
-  return v_2;
-}
-
-float2x2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
-  return float2x2(arr[0u].el, arr[1u].el);
-}
-
-void v_3(uint offset, strided_arr obj) {
-  ssbo.Store2((offset + 0u), asuint(obj.el));
-}
-
-void v_4(uint offset, strided_arr obj[2]) {
-  {
-    uint v_5 = 0u;
-    v_5 = 0u;
-    while(true) {
-      uint v_6 = v_5;
-      if ((v_6 >= 2u)) {
-        break;
-      }
-      strided_arr v_7 = obj[v_6];
-      v_3((offset + (v_6 * 16u)), v_7);
-      {
-        v_5 = (v_6 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-strided_arr v_8(uint offset) {
-  strided_arr v_9 = {asfloat(ssbo.Load2((offset + 0u)))};
-  return v_9;
-}
-
-typedef strided_arr ary_ret_1[2];
-ary_ret_1 v_10(uint offset) {
-  strided_arr a[2] = (strided_arr[2])0;
-  {
-    uint v_11 = 0u;
-    v_11 = 0u;
-    while(true) {
-      uint v_12 = v_11;
-      if ((v_12 >= 2u)) {
-        break;
-      }
-      strided_arr v_13 = v_8((offset + (v_12 * 16u)));
-      a[v_12] = v_13;
-      {
-        v_11 = (v_12 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr v_14[2] = a;
-  return v_14;
-}
-
-void f_1() {
-  strided_arr v_15[2] = v_10(0u);
-  strided_arr v_16[2] = mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16(v_15));
-  v_4(0u, v_16);
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.fxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 8a5ca585..0000000
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,80 +0,0 @@
-struct strided_arr {
-  float2 el;
-};
-
-
-RWByteAddressBuffer ssbo : register(u0);
-typedef strided_arr ary_ret[2];
-ary_ret mat2x2_stride_16_to_arr(float2x2 m) {
-  strided_arr v = {m[0u]};
-  strided_arr v_1 = {m[1u]};
-  strided_arr v_2[2] = {v, v_1};
-  return v_2;
-}
-
-float2x2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
-  return float2x2(arr[0u].el, arr[1u].el);
-}
-
-void v_3(uint offset, strided_arr obj) {
-  ssbo.Store2((offset + 0u), asuint(obj.el));
-}
-
-void v_4(uint offset, strided_arr obj[2]) {
-  {
-    uint v_5 = 0u;
-    v_5 = 0u;
-    while(true) {
-      uint v_6 = v_5;
-      if ((v_6 >= 2u)) {
-        break;
-      }
-      strided_arr v_7 = obj[v_6];
-      v_3((offset + (v_6 * 16u)), v_7);
-      {
-        v_5 = (v_6 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-strided_arr v_8(uint offset) {
-  strided_arr v_9 = {asfloat(ssbo.Load2((offset + 0u)))};
-  return v_9;
-}
-
-typedef strided_arr ary_ret_1[2];
-ary_ret_1 v_10(uint offset) {
-  strided_arr a[2] = (strided_arr[2])0;
-  {
-    uint v_11 = 0u;
-    v_11 = 0u;
-    while(true) {
-      uint v_12 = v_11;
-      if ((v_12 >= 2u)) {
-        break;
-      }
-      strided_arr v_13 = v_8((offset + (v_12 * 16u)));
-      a[v_12] = v_13;
-      {
-        v_11 = (v_12 + 1u);
-      }
-      continue;
-    }
-  }
-  strided_arr v_14[2] = a;
-  return v_14;
-}
-
-void f_1() {
-  strided_arr v_15[2] = v_10(0u);
-  strided_arr v_16[2] = mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16(v_15));
-  v_4(0u, v_16);
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.msl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.msl
deleted file mode 100644
index e23ac2f..0000000
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.msl
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct strided_arr {
-  /* 0x0000 */ float2 el;
-  /* 0x0008 */ tint_array<int8_t, 8> tint_pad;
-};
-
-struct SSBO {
-  /* 0x0000 */ tint_array<strided_arr, 2> m;
-};
-
-struct tint_module_vars_struct {
-  device SSBO* ssbo;
-};
-
-tint_array<strided_arr, 2> mat2x2_stride_16_to_arr(float2x2 m) {
-  strided_arr const v = strided_arr{.el=m[0u]};
-  return tint_array<strided_arr, 2>{v, strided_arr{.el=m[1u]}};
-}
-
-float2x2 arr_to_mat2x2_stride_16(tint_array<strided_arr, 2> arr) {
-  return float2x2(arr[0u].el, arr[1u].el);
-}
-
-void tint_store_and_preserve_padding_1(device strided_arr* const target, strided_arr value_param) {
-  (*target).el = value_param.el;
-}
-
-void tint_store_and_preserve_padding(device tint_array<strided_arr, 2>* const target, tint_array<strided_arr, 2> value_param) {
-  {
-    uint v_1 = 0u;
-    v_1 = 0u;
-    while(true) {
-      uint const v_2 = v_1;
-      if ((v_2 >= 2u)) {
-        break;
-      }
-      tint_store_and_preserve_padding_1((&(*target)[v_2]), value_param[v_2]);
-      {
-        v_1 = (v_2 + 1u);
-      }
-      continue;
-    }
-  }
-}
-
-void f_1(tint_module_vars_struct tint_module_vars) {
-  tint_store_and_preserve_padding((&(*tint_module_vars.ssbo).m), mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16((*tint_module_vars.ssbo).m)));
-}
-
-kernel void f(device SSBO* ssbo [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.ssbo=ssbo};
-  f_1(tint_module_vars);
-}
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.spvasm b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.spvasm
deleted file mode 100644
index 5a48ed7..0000000
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.spvasm
+++ /dev/null
@@ -1,170 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 99
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpMemberName %strided_arr 0 "el"
-               OpName %strided_arr "strided_arr"
-               OpMemberName %SSBO_tint_explicit_layout 0 "m"
-               OpName %SSBO_tint_explicit_layout "SSBO_tint_explicit_layout"
-               OpMemberName %ssbo_block_tint_explicit_layout 0 "inner"
-               OpName %ssbo_block_tint_explicit_layout "ssbo_block_tint_explicit_layout"
-               OpName %mat2x2_stride_16_to_arr "mat2x2_stride_16_to_arr"
-               OpName %m "m"
-               OpName %arr_to_mat2x2_stride_16 "arr_to_mat2x2_stride_16"
-               OpName %arr "arr"
-               OpName %f_1 "f_1"
-               OpName %f "f"
-               OpName %tint_store_and_preserve_padding "tint_store_and_preserve_padding"
-               OpName %value_param "value_param"
-               OpName %tint_store_and_preserve_padding_0 "tint_store_and_preserve_padding"
-               OpName %target_indices "target_indices"
-               OpName %value_param_0 "value_param"
-               OpName %tint_convert_explicit_layout "tint_convert_explicit_layout"
-               OpName %tint_source "tint_source"
-               OpMemberDecorate %strided_arr 0 Offset 0
-               OpDecorate %_arr_strided_arr_uint_2 ArrayStride 16
-               OpMemberDecorate %SSBO_tint_explicit_layout 0 Offset 0
-               OpMemberDecorate %ssbo_block_tint_explicit_layout 0 Offset 0
-               OpDecorate %ssbo_block_tint_explicit_layout Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-      %float = OpTypeFloat 32
-    %v2float = OpTypeVector %float 2
-%strided_arr = OpTypeStruct %v2float
-       %uint = OpTypeInt 32 0
-     %uint_2 = OpConstant %uint 2
-%_arr_strided_arr_uint_2 = OpTypeArray %strided_arr %uint_2
-%SSBO_tint_explicit_layout = OpTypeStruct %_arr_strided_arr_uint_2
-%ssbo_block_tint_explicit_layout = OpTypeStruct %SSBO_tint_explicit_layout
-%_ptr_StorageBuffer_ssbo_block_tint_explicit_layout = OpTypePointer StorageBuffer %ssbo_block_tint_explicit_layout
-          %1 = OpVariable %_ptr_StorageBuffer_ssbo_block_tint_explicit_layout StorageBuffer
-%_arr_strided_arr_uint_2_0 = OpTypeArray %strided_arr %uint_2
-%mat2v2float = OpTypeMatrix %v2float 2
-         %15 = OpTypeFunction %_arr_strided_arr_uint_2_0 %mat2v2float
-         %24 = OpTypeFunction %mat2v2float %_arr_strided_arr_uint_2_0
-       %void = OpTypeVoid
-         %31 = OpTypeFunction %void
-%_ptr_StorageBuffer__arr_strided_arr_uint_2 = OpTypePointer StorageBuffer %_arr_strided_arr_uint_2
-     %uint_0 = OpConstant %uint 0
-         %47 = OpTypeFunction %void %_arr_strided_arr_uint_2_0
-%_ptr_Function__arr_strided_arr_uint_2_0 = OpTypePointer Function %_arr_strided_arr_uint_2_0
-       %bool = OpTypeBool
-%_ptr_Function_strided_arr = OpTypePointer Function %strided_arr
-     %uint_1 = OpConstant %uint 1
-%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
-         %72 = OpTypeFunction %void %_arr_uint_uint_1 %strided_arr
-%_ptr_StorageBuffer_v2float = OpTypePointer StorageBuffer %v2float
-         %79 = OpTypeFunction %_arr_strided_arr_uint_2_0 %_arr_strided_arr_uint_2
-%_ptr_Function__arr_strided_arr_uint_2 = OpTypePointer Function %_arr_strided_arr_uint_2
-         %84 = OpConstantNull %_arr_strided_arr_uint_2_0
-%mat2x2_stride_16_to_arr = OpFunction %_arr_strided_arr_uint_2_0 None %15
-          %m = OpFunctionParameter %mat2v2float
-         %16 = OpLabel
-         %17 = OpCompositeExtract %v2float %m 0
-         %18 = OpCompositeConstruct %strided_arr %17
-         %19 = OpCompositeExtract %v2float %m 1
-         %20 = OpCompositeConstruct %strided_arr %19
-         %21 = OpCompositeConstruct %_arr_strided_arr_uint_2_0 %18 %20
-               OpReturnValue %21
-               OpFunctionEnd
-%arr_to_mat2x2_stride_16 = OpFunction %mat2v2float None %24
-        %arr = OpFunctionParameter %_arr_strided_arr_uint_2_0
-         %25 = OpLabel
-         %26 = OpCompositeExtract %v2float %arr 0 0
-         %27 = OpCompositeExtract %v2float %arr 1 0
-         %28 = OpCompositeConstruct %mat2v2float %26 %27
-               OpReturnValue %28
-               OpFunctionEnd
-        %f_1 = OpFunction %void None %31
-         %32 = OpLabel
-         %33 = OpAccessChain %_ptr_StorageBuffer__arr_strided_arr_uint_2 %1 %uint_0 %uint_0
-         %36 = OpLoad %_arr_strided_arr_uint_2 %33 None
-         %37 = OpFunctionCall %_arr_strided_arr_uint_2_0 %tint_convert_explicit_layout %36
-         %39 = OpFunctionCall %mat2v2float %arr_to_mat2x2_stride_16 %37
-         %40 = OpFunctionCall %_arr_strided_arr_uint_2_0 %mat2x2_stride_16_to_arr %39
-         %41 = OpFunctionCall %void %tint_store_and_preserve_padding %40
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %31
-         %44 = OpLabel
-         %45 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
-%tint_store_and_preserve_padding = OpFunction %void None %47
-%value_param = OpFunctionParameter %_arr_strided_arr_uint_2_0
-         %48 = OpLabel
-         %49 = OpVariable %_ptr_Function__arr_strided_arr_uint_2_0 Function
-               OpStore %49 %value_param
-               OpBranch %51
-         %51 = OpLabel
-               OpBranch %54
-         %54 = OpLabel
-         %56 = OpPhi %uint %uint_0 %51 %57 %53
-               OpLoopMerge %55 %53 None
-               OpBranch %52
-         %52 = OpLabel
-         %58 = OpUGreaterThanEqual %bool %56 %uint_2
-               OpSelectionMerge %60 None
-               OpBranchConditional %58 %61 %60
-         %61 = OpLabel
-               OpBranch %55
-         %60 = OpLabel
-         %62 = OpAccessChain %_ptr_Function_strided_arr %49 %56
-         %64 = OpLoad %strided_arr %62 None
-         %67 = OpCompositeConstruct %_arr_uint_uint_1 %56
-         %68 = OpFunctionCall %void %tint_store_and_preserve_padding_0 %67 %64
-               OpBranch %53
-         %53 = OpLabel
-         %57 = OpIAdd %uint %56 %uint_1
-               OpBranch %54
-         %55 = OpLabel
-               OpReturn
-               OpFunctionEnd
-%tint_store_and_preserve_padding_0 = OpFunction %void None %72
-%target_indices = OpFunctionParameter %_arr_uint_uint_1
-%value_param_0 = OpFunctionParameter %strided_arr
-         %73 = OpLabel
-         %74 = OpCompositeExtract %uint %target_indices 0
-         %75 = OpAccessChain %_ptr_StorageBuffer_v2float %1 %uint_0 %uint_0 %74 %uint_0
-         %77 = OpCompositeExtract %v2float %value_param_0 0
-               OpStore %75 %77 None
-               OpReturn
-               OpFunctionEnd
-%tint_convert_explicit_layout = OpFunction %_arr_strided_arr_uint_2_0 None %79
-%tint_source = OpFunctionParameter %_arr_strided_arr_uint_2
-         %80 = OpLabel
-         %81 = OpVariable %_ptr_Function__arr_strided_arr_uint_2 Function
-         %83 = OpVariable %_ptr_Function__arr_strided_arr_uint_2_0 Function %84
-               OpStore %81 %tint_source
-               OpBranch %85
-         %85 = OpLabel
-               OpBranch %88
-         %88 = OpLabel
-         %90 = OpPhi %uint %uint_0 %85 %91 %87
-               OpLoopMerge %89 %87 None
-               OpBranch %86
-         %86 = OpLabel
-         %92 = OpUGreaterThanEqual %bool %90 %uint_2
-               OpSelectionMerge %93 None
-               OpBranchConditional %92 %94 %93
-         %94 = OpLabel
-               OpBranch %89
-         %93 = OpLabel
-         %95 = OpAccessChain %_ptr_Function_strided_arr %81 %90
-         %96 = OpLoad %strided_arr %95 None
-         %97 = OpAccessChain %_ptr_Function_strided_arr %83 %90
-               OpStore %97 %96 None
-               OpBranch %87
-         %87 = OpLabel
-         %91 = OpIAdd %uint %90 %uint_1
-               OpBranch %88
-         %89 = OpLabel
-         %98 = OpLoad %_arr_strided_arr_uint_2_0 %83 None
-               OpReturnValue %98
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/access/matrix.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/access/matrix.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 35e3f87..0000000
--- a/test/tint/ptr_ref/access/matrix.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  m = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
-  m[1] = (5.0f).xxx;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/access/matrix.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/access/matrix.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 35e3f87..0000000
--- a/test/tint/ptr_ref/access/matrix.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  m = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
-  m[1] = (5.0f).xxx;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/access/matrix.spvasm.expected.glsl b/test/tint/ptr_ref/access/matrix.spvasm.expected.glsl
deleted file mode 100644
index 3704776..0000000
--- a/test/tint/ptr_ref/access/matrix.spvasm.expected.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-#version 310 es
-
-void main_1() {
-  mat3 m = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
-  m = mat3(vec3(1.0f, 2.0f, 3.0f), vec3(4.0f, 5.0f, 6.0f), vec3(7.0f, 8.0f, 9.0f));
-  m[1u] = vec3(5.0f);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/access/matrix.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/access/matrix.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c18911c..0000000
--- a/test/tint/ptr_ref/access/matrix.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  m = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
-  m[1u] = (5.0f).xxx;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/access/matrix.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/access/matrix.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c18911c..0000000
--- a/test/tint/ptr_ref/access/matrix.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-void main_1() {
-  float3x3 m = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
-  m = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
-  m[1u] = (5.0f).xxx;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/access/matrix.spvasm.expected.msl b/test/tint/ptr_ref/access/matrix.spvasm.expected.msl
deleted file mode 100644
index d7210e4..0000000
--- a/test/tint/ptr_ref/access/matrix.spvasm.expected.msl
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float3x3 m = float3x3(float3(0.0f), float3(0.0f), float3(0.0f));
-  m = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
-  m[1u] = float3(5.0f);
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/access/matrix.spvasm.expected.spvasm b/test/tint/ptr_ref/access/matrix.spvasm.expected.spvasm
deleted file mode 100644
index 6267de1..0000000
--- a/test/tint/ptr_ref/access/matrix.spvasm.expected.spvasm
+++ /dev/null
@@ -1,50 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 32
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %m "m"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-    %v3float = OpTypeVector %float 3
-%mat3v3float = OpTypeMatrix %v3float 3
-%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
-         %10 = OpConstantNull %mat3v3float
-    %float_1 = OpConstant %float 1
-    %float_2 = OpConstant %float 2
-    %float_3 = OpConstant %float 3
-         %12 = OpConstantComposite %v3float %float_1 %float_2 %float_3
-    %float_4 = OpConstant %float 4
-    %float_5 = OpConstant %float 5
-    %float_6 = OpConstant %float 6
-         %16 = OpConstantComposite %v3float %float_4 %float_5 %float_6
-    %float_7 = OpConstant %float 7
-    %float_8 = OpConstant %float 8
-    %float_9 = OpConstant %float 9
-         %20 = OpConstantComposite %v3float %float_7 %float_8 %float_9
-         %11 = OpConstantComposite %mat3v3float %12 %16 %20
-%_ptr_Function_v3float = OpTypePointer Function %v3float
-       %uint = OpTypeInt 32 0
-     %uint_1 = OpConstant %uint 1
-         %28 = OpConstantComposite %v3float %float_5 %float_5 %float_5
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %m = OpVariable %_ptr_Function_mat3v3float Function
-               OpStore %m %10
-               OpStore %m %11 None
-         %24 = OpAccessChain %_ptr_Function_v3float %m %uint_1
-               OpStore %24 %28 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %30 = OpLabel
-         %31 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 0bc2907..0000000
--- a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-void main_1() {
-  uint x_10 = 0u;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 0bc2907..0000000
--- a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-void main_1() {
-  uint x_10 = 0u;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.glsl b/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.glsl
deleted file mode 100644
index da4f506..0000000
--- a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-#version 310 es
-
-void main_1() {
-  uint x_10 = 0u;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 3fa6cef..0000000
--- a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-void main_1() {
-  uint x_10 = 0u;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 3fa6cef..0000000
--- a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-void main_1() {
-  uint x_10 = 0u;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.msl b/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.msl
deleted file mode 100644
index 31e8d19..0000000
--- a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.msl
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  uint x_10 = 0u;
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.spvasm b/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.spvasm
deleted file mode 100644
index 859aa74..0000000
--- a/test/tint/ptr_ref/copy/ptr_copy.spvasm.expected.spvasm
+++ /dev/null
@@ -1,27 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 12
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %x_10 "x_10"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-       %uint = OpTypeInt 32 0
-%_ptr_Function_uint = OpTypePointer Function %uint
-          %8 = OpConstantNull %uint
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-       %x_10 = OpVariable %_ptr_Function_uint Function %8
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %10 = OpLabel
-         %11 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/load/global/i32.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/load/global/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index ae7220c..0000000
--- a/test/tint/ptr_ref/load/global/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-static int I = 0;
-
-void main_1() {
-  int x_11 = (I + 1);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/global/i32.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/load/global/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ae7220c..0000000
--- a/test/tint/ptr_ref/load/global/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-static int I = 0;
-
-void main_1() {
-  int x_11 = (I + 1);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/global/i32.spvasm.expected.glsl b/test/tint/ptr_ref/load/global/i32.spvasm.expected.glsl
deleted file mode 100644
index c7b2790..0000000
--- a/test/tint/ptr_ref/load/global/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,10 +0,0 @@
-#version 310 es
-
-int I = 0;
-void main_1() {
-  int x_11 = (I + 1);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/global/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/load/global/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7dac671..0000000
--- a/test/tint/ptr_ref/load/global/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-static int I = int(0);
-void main_1() {
-  int x_11 = (I + int(1));
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/global/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/load/global/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7dac671..0000000
--- a/test/tint/ptr_ref/load/global/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-static int I = int(0);
-void main_1() {
-  int x_11 = (I + int(1));
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/global/i32.spvasm.expected.msl b/test/tint/ptr_ref/load/global/i32.spvasm.expected.msl
deleted file mode 100644
index 488937c..0000000
--- a/test/tint/ptr_ref/load/global/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread int* I;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  int const x_11 = as_type<int>((as_type<uint>((*tint_module_vars.I)) + as_type<uint>(1)));
-}
-
-kernel void v() {
-  thread int I = 0;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.I=(&I)};
-  main_1(tint_module_vars);
-}
diff --git a/test/tint/ptr_ref/load/global/i32.spvasm.expected.spvasm b/test/tint/ptr_ref/load/global/i32.spvasm.expected.spvasm
deleted file mode 100644
index 45687db..0000000
--- a/test/tint/ptr_ref/load/global/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,31 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 15
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %I "I"
-               OpName %main_1 "main_1"
-               OpName %x_11 "x_11"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-%_ptr_Private_int = OpTypePointer Private %int
-      %int_0 = OpConstant %int 0
-          %I = OpVariable %_ptr_Private_int Private %int_0
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-      %int_1 = OpConstant %int 1
-     %main_1 = OpFunction %void None %7
-          %8 = OpLabel
-          %9 = OpLoad %int %I None
-       %x_11 = OpIAdd %int %9 %int_1
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %7
-         %13 = OpLabel
-         %14 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 27509c8..0000000
--- a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-struct S {
-  int i;
-};
-
-static S V = (S)0;
-
-void main_1() {
-  int i = 0;
-  i = V.i;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 27509c8..0000000
--- a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-struct S {
-  int i;
-};
-
-static S V = (S)0;
-
-void main_1() {
-  int i = 0;
-  i = V.i;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.glsl b/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.glsl
deleted file mode 100644
index a1658d4..0000000
--- a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.glsl
+++ /dev/null
@@ -1,16 +0,0 @@
-#version 310 es
-
-
-struct S {
-  int i;
-};
-
-S V = S(0);
-void main_1() {
-  int i = 0;
-  i = V.i;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 4dd329a..0000000
--- a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-
-static S V = (S)0;
-void main_1() {
-  int i = int(0);
-  i = V.i;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 4dd329a..0000000
--- a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-
-static S V = (S)0;
-void main_1() {
-  int i = int(0);
-  i = V.i;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.msl b/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.msl
deleted file mode 100644
index 3e91a7a..0000000
--- a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.msl
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S {
-  int i;
-};
-
-struct tint_module_vars_struct {
-  thread S* V;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  int i = 0;
-  i = (*tint_module_vars.V).i;
-}
-
-kernel void v() {
-  thread S V = {};
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.V=(&V)};
-  main_1(tint_module_vars);
-}
diff --git a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.spvasm b/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.spvasm
deleted file mode 100644
index 9315999..0000000
--- a/test/tint/ptr_ref/load/global/struct_field.spvasm.expected.spvasm
+++ /dev/null
@@ -1,40 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 21
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpMemberName %S 0 "i"
-               OpName %S "S"
-               OpName %V "V"
-               OpName %main_1 "main_1"
-               OpName %i "i"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-          %S = OpTypeStruct %int
-%_ptr_Private_S = OpTypePointer Private %S
-          %5 = OpConstantNull %S
-          %V = OpVariable %_ptr_Private_S Private %5
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-         %12 = OpConstantNull %int
-%_ptr_Private_int = OpTypePointer Private %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %main_1 = OpFunction %void None %8
-          %9 = OpLabel
-          %i = OpVariable %_ptr_Function_int Function %12
-         %13 = OpAccessChain %_ptr_Private_int %V %uint_0
-         %17 = OpLoad %int %13 None
-               OpStore %i %17 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/load/local/i32.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/load/local/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index ea7e4db..0000000
--- a/test/tint/ptr_ref/load/local/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-void main_1() {
-  int i = 0;
-  i = 123;
-  int x_12 = (i + 1);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/local/i32.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/load/local/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ea7e4db..0000000
--- a/test/tint/ptr_ref/load/local/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-void main_1() {
-  int i = 0;
-  i = 123;
-  int x_12 = (i + 1);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/local/i32.spvasm.expected.glsl b/test/tint/ptr_ref/load/local/i32.spvasm.expected.glsl
deleted file mode 100644
index b12a01a..0000000
--- a/test/tint/ptr_ref/load/local/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-#version 310 es
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  int x_12 = (i + 1);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/local/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/load/local/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d386d6e..0000000
--- a/test/tint/ptr_ref/load/local/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-void main_1() {
-  int i = int(0);
-  i = int(123);
-  int x_12 = (i + int(1));
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/local/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/load/local/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d386d6e..0000000
--- a/test/tint/ptr_ref/load/local/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-void main_1() {
-  int i = int(0);
-  i = int(123);
-  int x_12 = (i + int(1));
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/local/i32.spvasm.expected.msl b/test/tint/ptr_ref/load/local/i32.spvasm.expected.msl
deleted file mode 100644
index d80f8d1..0000000
--- a/test/tint/ptr_ref/load/local/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  int const x_12 = as_type<int>((as_type<uint>(i) + as_type<uint>(1)));
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/local/i32.spvasm.expected.spvasm b/test/tint/ptr_ref/load/local/i32.spvasm.expected.spvasm
deleted file mode 100644
index 69dba4c..0000000
--- a/test/tint/ptr_ref/load/local/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,34 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 16
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %i "i"
-               OpName %x_12 "x_12"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-    %int_123 = OpConstant %int 123
-      %int_1 = OpConstant %int 1
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %i = OpVariable %_ptr_Function_int Function
-               OpStore %i %int_0
-               OpStore %i %int_123 None
-         %10 = OpLoad %int %i None
-       %x_12 = OpIAdd %int %10 %int_1
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %14 = OpLabel
-         %15 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 254d4c7..0000000
--- a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-void main_1() {
-  int i = 0;
-  S V = (S)0;
-  i = V.i;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 254d4c7..0000000
--- a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-void main_1() {
-  int i = 0;
-  S V = (S)0;
-  i = V.i;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.glsl b/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.glsl
deleted file mode 100644
index 3decd62..0000000
--- a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.glsl
+++ /dev/null
@@ -1,16 +0,0 @@
-#version 310 es
-
-
-struct S {
-  int i;
-};
-
-void main_1() {
-  int i = 0;
-  S V = S(0);
-  i = V.i;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 6df3836..0000000
--- a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-
-void main_1() {
-  int i = int(0);
-  S V = (S)0;
-  i = V.i;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 6df3836..0000000
--- a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-
-void main_1() {
-  int i = int(0);
-  S V = (S)0;
-  i = V.i;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.msl b/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.msl
deleted file mode 100644
index 655a653..0000000
--- a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.msl
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S {
-  int i;
-};
-
-void main_1() {
-  int i = 0;
-  S V = {};
-  i = V.i;
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.spvasm b/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.spvasm
deleted file mode 100644
index eecce93..0000000
--- a/test/tint/ptr_ref/load/local/struct_field.spvasm.expected.spvasm
+++ /dev/null
@@ -1,39 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 20
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %i "i"
-               OpMemberName %S 0 "i"
-               OpName %S "S"
-               OpName %V "V"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-          %8 = OpConstantNull %int
-          %S = OpTypeStruct %int
-%_ptr_Function_S = OpTypePointer Function %S
-         %12 = OpConstantNull %S
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %i = OpVariable %_ptr_Function_int Function %8
-          %V = OpVariable %_ptr_Function_S Function %12
-         %13 = OpAccessChain %_ptr_Function_int %V %uint_0
-         %16 = OpLoad %int %13 None
-               OpStore %i %16 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/load/param/ptr.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d31e748..0000000
--- a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,18 +0,0 @@
-int func(int value, inout int pointer) {
-  int x_9 = pointer;
-  return (value + x_9);
-}
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  int x_19 = i;
-  int x_18 = func(x_19, i);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/load/param/ptr.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d31e748..0000000
--- a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,18 +0,0 @@
-int func(int value, inout int pointer) {
-  int x_9 = pointer;
-  return (value + x_9);
-}
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  int x_19 = i;
-  int x_18 = func(x_19, i);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.glsl b/test/tint/ptr_ref/load/param/ptr.spvasm.expected.glsl
deleted file mode 100644
index 59d7490..0000000
--- a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.glsl
+++ /dev/null
@@ -1,16 +0,0 @@
-#version 310 es
-
-int func(int value, inout int pointer) {
-  int x_9 = pointer;
-  return (value + x_9);
-}
-void main_1() {
-  int i = 0;
-  i = 123;
-  int x_19 = i;
-  int x_18 = func(x_19, i);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/load/param/ptr.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c7b1a06..0000000
--- a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,18 +0,0 @@
-
-int func(int value, inout int pointer) {
-  int x_9 = pointer;
-  return (value + x_9);
-}
-
-void main_1() {
-  int i = int(0);
-  i = int(123);
-  int x_19 = i;
-  int x_18 = func(x_19, i);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/load/param/ptr.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c7b1a06..0000000
--- a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,18 +0,0 @@
-
-int func(int value, inout int pointer) {
-  int x_9 = pointer;
-  return (value + x_9);
-}
-
-void main_1() {
-  int i = int(0);
-  i = int(123);
-  int x_19 = i;
-  int x_18 = func(x_19, i);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.msl b/test/tint/ptr_ref/load/param/ptr.spvasm.expected.msl
deleted file mode 100644
index 9d67d83..0000000
--- a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.msl
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-int func(int value, thread int* const pointer) {
-  int const x_9 = (*pointer);
-  return as_type<int>((as_type<uint>(value) + as_type<uint>(x_9)));
-}
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  int const x_19 = i;
-  int const x_18 = func(x_19, (&i));
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.spvasm b/test/tint/ptr_ref/load/param/ptr.spvasm.expected.spvasm
deleted file mode 100644
index ba038db..0000000
--- a/test/tint/ptr_ref/load/param/ptr.spvasm.expected.spvasm
+++ /dev/null
@@ -1,47 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 22
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %func "func"
-               OpName %value "value"
-               OpName %pointer_root "pointer_root"
-               OpName %x_9 "x_9"
-               OpName %main_1 "main_1"
-               OpName %i "i"
-               OpName %x_19 "x_19"
-               OpName %x_18 "x_18"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-          %6 = OpTypeFunction %int %int %_ptr_Function_int
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-      %int_0 = OpConstant %int 0
-    %int_123 = OpConstant %int 123
-       %func = OpFunction %int None %6
-      %value = OpFunctionParameter %int
-%pointer_root = OpFunctionParameter %_ptr_Function_int
-          %7 = OpLabel
-        %x_9 = OpLoad %int %pointer_root None
-          %9 = OpIAdd %int %value %x_9
-               OpReturnValue %9
-               OpFunctionEnd
-     %main_1 = OpFunction %void None %12
-         %13 = OpLabel
-          %i = OpVariable %_ptr_Function_int Function
-               OpStore %i %int_0
-               OpStore %i %int_123 None
-       %x_19 = OpLoad %int %i None
-       %x_18 = OpFunctionCall %int %func %x_19 %i
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %12
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/store/global/i32.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/store/global/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b059820..0000000
--- a/test/tint/ptr_ref/store/global/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-static int I = 0;
-
-void main_1() {
-  I = 123;
-  I = 123;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/global/i32.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/store/global/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b059820..0000000
--- a/test/tint/ptr_ref/store/global/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-static int I = 0;
-
-void main_1() {
-  I = 123;
-  I = 123;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/global/i32.spvasm.expected.glsl b/test/tint/ptr_ref/store/global/i32.spvasm.expected.glsl
deleted file mode 100644
index 21ca2e2..0000000
--- a/test/tint/ptr_ref/store/global/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-#version 310 es
-
-int I = 0;
-void main_1() {
-  I = 123;
-  I = 123;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/store/global/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/store/global/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 43ce7ee..0000000
--- a/test/tint/ptr_ref/store/global/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-static int I = int(0);
-void main_1() {
-  I = int(123);
-  I = int(123);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/global/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/store/global/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 43ce7ee..0000000
--- a/test/tint/ptr_ref/store/global/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-static int I = int(0);
-void main_1() {
-  I = int(123);
-  I = int(123);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/global/i32.spvasm.expected.msl b/test/tint/ptr_ref/store/global/i32.spvasm.expected.msl
deleted file mode 100644
index 5b4b009..0000000
--- a/test/tint/ptr_ref/store/global/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread int* I;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.I) = 123;
-  (*tint_module_vars.I) = 123;
-}
-
-kernel void v() {
-  thread int I = 0;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.I=(&I)};
-  main_1(tint_module_vars);
-}
diff --git a/test/tint/ptr_ref/store/global/i32.spvasm.expected.spvasm b/test/tint/ptr_ref/store/global/i32.spvasm.expected.spvasm
deleted file mode 100644
index cd0dc8c..0000000
--- a/test/tint/ptr_ref/store/global/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,30 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 13
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %I "I"
-               OpName %main_1 "main_1"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-%_ptr_Private_int = OpTypePointer Private %int
-      %int_0 = OpConstant %int 0
-          %I = OpVariable %_ptr_Private_int Private %int_0
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-    %int_123 = OpConstant %int 123
-     %main_1 = OpFunction %void None %7
-          %8 = OpLabel
-               OpStore %I %int_123 None
-               OpStore %I %int_123 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %7
-         %11 = OpLabel
-         %12 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 938d5d10..0000000
--- a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-static S V = (S)0;
-
-void main_1() {
-  V.i = 5;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 938d5d10..0000000
--- a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,16 +0,0 @@
-struct S {
-  int i;
-};
-
-static S V = (S)0;
-
-void main_1() {
-  V.i = 5;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.glsl b/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.glsl
deleted file mode 100644
index 8e9ad35..0000000
--- a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.glsl
+++ /dev/null
@@ -1,15 +0,0 @@
-#version 310 es
-
-
-struct S {
-  int i;
-};
-
-S V = S(0);
-void main_1() {
-  V.i = 5;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index e53135f..0000000
--- a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S {
-  int i;
-};
-
-
-static S V = (S)0;
-void main_1() {
-  V.i = int(5);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index e53135f..0000000
--- a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S {
-  int i;
-};
-
-
-static S V = (S)0;
-void main_1() {
-  V.i = int(5);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.msl b/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.msl
deleted file mode 100644
index 02a0df9..0000000
--- a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.msl
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S {
-  int i;
-};
-
-struct tint_module_vars_struct {
-  thread S* V;
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.V).i = 5;
-}
-
-kernel void v() {
-  thread S V = {};
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.V=(&V)};
-  main_1(tint_module_vars);
-}
diff --git a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.spvasm b/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.spvasm
deleted file mode 100644
index cbd9bcb..0000000
--- a/test/tint/ptr_ref/store/global/struct_field.spvasm.expected.spvasm
+++ /dev/null
@@ -1,36 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 18
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpMemberName %S 0 "i"
-               OpName %S "S"
-               OpName %V "V"
-               OpName %main_1 "main_1"
-               OpName %main "main"
-        %int = OpTypeInt 32 1
-          %S = OpTypeStruct %int
-%_ptr_Private_S = OpTypePointer Private %S
-          %5 = OpConstantNull %S
-          %V = OpVariable %_ptr_Private_S Private %5
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Private_int = OpTypePointer Private %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-      %int_5 = OpConstant %int 5
-     %main_1 = OpFunction %void None %8
-          %9 = OpLabel
-         %10 = OpAccessChain %_ptr_Private_int %V %uint_0
-               OpStore %10 %int_5 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %8
-         %16 = OpLabel
-         %17 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/store/local/i32.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/store/local/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 4977290..0000000
--- a/test/tint/ptr_ref/store/local/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-void main_1() {
-  int i = 0;
-  i = 123;
-  i = 123;
-  i = 123;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/local/i32.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/store/local/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 4977290..0000000
--- a/test/tint/ptr_ref/store/local/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-void main_1() {
-  int i = 0;
-  i = 123;
-  i = 123;
-  i = 123;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/local/i32.spvasm.expected.glsl b/test/tint/ptr_ref/store/local/i32.spvasm.expected.glsl
deleted file mode 100644
index 425d5d2..0000000
--- a/test/tint/ptr_ref/store/local/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,12 +0,0 @@
-#version 310 es
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  i = 123;
-  i = 123;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/store/local/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/store/local/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c96330d..0000000
--- a/test/tint/ptr_ref/store/local/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  int i = int(0);
-  i = int(123);
-  i = int(123);
-  i = int(123);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/local/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/store/local/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c96330d..0000000
--- a/test/tint/ptr_ref/store/local/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  int i = int(0);
-  i = int(123);
-  i = int(123);
-  i = int(123);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/local/i32.spvasm.expected.msl b/test/tint/ptr_ref/store/local/i32.spvasm.expected.msl
deleted file mode 100644
index a9c0cd0..0000000
--- a/test/tint/ptr_ref/store/local/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  i = 123;
-  i = 123;
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/store/local/i32.spvasm.expected.spvasm b/test/tint/ptr_ref/store/local/i32.spvasm.expected.spvasm
deleted file mode 100644
index ef9ca21..0000000
--- a/test/tint/ptr_ref/store/local/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,32 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 13
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %i "i"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-    %int_123 = OpConstant %int 123
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %i = OpVariable %_ptr_Function_int Function
-               OpStore %i %int_0
-               OpStore %i %int_123 None
-               OpStore %i %int_123 None
-               OpStore %i %int_123 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %11 = OpLabel
-         %12 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a867b6c..0000000
--- a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S {
-  int i;
-};
-
-void main_1() {
-  S V = (S)0;
-  V.i = 5;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a867b6c..0000000
--- a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S {
-  int i;
-};
-
-void main_1() {
-  S V = (S)0;
-  V.i = 5;
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.glsl b/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.glsl
deleted file mode 100644
index b402f47..0000000
--- a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.glsl
+++ /dev/null
@@ -1,15 +0,0 @@
-#version 310 es
-
-
-struct S {
-  int i;
-};
-
-void main_1() {
-  S V = S(0);
-  V.i = 5;
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.ir.dxc.hlsl b/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 3ac257c..0000000
--- a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S {
-  int i;
-};
-
-
-void main_1() {
-  S V = (S)0;
-  V.i = int(5);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.ir.fxc.hlsl b/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 3ac257c..0000000
--- a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S {
-  int i;
-};
-
-
-void main_1() {
-  S V = (S)0;
-  V.i = int(5);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.msl b/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.msl
deleted file mode 100644
index d403f44..0000000
--- a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.msl
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S {
-  int i;
-};
-
-void main_1() {
-  S V = {};
-  V.i = 5;
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.spvasm b/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.spvasm
deleted file mode 100644
index 6668d5f..0000000
--- a/test/tint/ptr_ref/store/local/struct_field.spvasm.expected.spvasm
+++ /dev/null
@@ -1,36 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 18
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpMemberName %S 0 "i"
-               OpName %S "S"
-               OpName %V "V"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-          %S = OpTypeStruct %int
-%_ptr_Function_S = OpTypePointer Function %S
-          %9 = OpConstantNull %S
-%_ptr_Function_int = OpTypePointer Function %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-      %int_5 = OpConstant %int 5
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %V = OpVariable %_ptr_Function_S Function %9
-         %10 = OpAccessChain %_ptr_Function_int %V %uint_0
-               OpStore %10 %int_5 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %16 = OpLabel
-         %17 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/ptr_ref/store/param/ptr.spvasm.expected.dxc.hlsl b/test/tint/ptr_ref/store/param/ptr.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 3191118..0000000
--- a/test/tint/ptr_ref/store/param/ptr.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-void func(int value, inout int pointer) {
-  pointer = value;
-  return;
-}
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  func(123, i);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/ptr_ref/store/param/ptr.spvasm.expected.fxc.hlsl b/test/tint/ptr_ref/store/param/ptr.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 3191118..0000000
--- a/test/tint/ptr_ref/store/param/ptr.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-void func(int value, inout int pointer) {
-  pointer = value;
-  return;
-}
-
-void main_1() {
-  int i = 0;
-  i = 123;
-  func(123, i);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/samples/simple_vertex.spvasm.expected.dxc.hlsl b/test/tint/samples/simple_vertex.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 32b9b95..0000000
--- a/test/tint/samples/simple_vertex.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-static float4 gl_Position = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  gl_Position = (0.0f).xxxx;
-  return;
-}
-
-struct main_out {
-  float4 gl_Position;
-};
-struct tint_symbol {
-  float4 gl_Position : SV_Position;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {gl_Position};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.gl_Position = inner_result.gl_Position;
-  return wrapper_result;
-}
diff --git a/test/tint/samples/simple_vertex.spvasm.expected.fxc.hlsl b/test/tint/samples/simple_vertex.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 32b9b95..0000000
--- a/test/tint/samples/simple_vertex.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-static float4 gl_Position = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  gl_Position = (0.0f).xxxx;
-  return;
-}
-
-struct main_out {
-  float4 gl_Position;
-};
-struct tint_symbol {
-  float4 gl_Position : SV_Position;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {gl_Position};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.gl_Position = inner_result.gl_Position;
-  return wrapper_result;
-}
diff --git a/test/tint/samples/simple_vertex.spvasm.expected.glsl b/test/tint/samples/simple_vertex.spvasm.expected.glsl
deleted file mode 100644
index deaa1b4..0000000
--- a/test/tint/samples/simple_vertex.spvasm.expected.glsl
+++ /dev/null
@@ -1,20 +0,0 @@
-#version 310 es
-
-
-struct main_out {
-  vec4 member_0;
-};
-
-vec4 v = vec4(0.0f);
-void main_1() {
-  v = vec4(0.0f);
-}
-main_out main_inner() {
-  main_1();
-  return main_out(v);
-}
-void main() {
-  vec4 v_1 = main_inner().member_0;
-  gl_Position = vec4(v_1.x, -(v_1.y), ((2.0f * v_1.z) - v_1.w), v_1.w);
-  gl_PointSize = 1.0f;
-}
diff --git a/test/tint/samples/simple_vertex.spvasm.expected.ir.dxc.hlsl b/test/tint/samples/simple_vertex.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 9944838..0000000
--- a/test/tint/samples/simple_vertex.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-struct main_out {
-  float4 gl_Position;
-};
-
-struct main_outputs {
-  float4 main_out_gl_Position : SV_Position;
-};
-
-
-static float4 gl_Position = (0.0f).xxxx;
-void main_1() {
-  gl_Position = (0.0f).xxxx;
-}
-
-main_out main_inner() {
-  main_1();
-  main_out v = {gl_Position};
-  return v;
-}
-
-main_outputs main() {
-  main_out v_1 = main_inner();
-  main_outputs v_2 = {v_1.gl_Position};
-  return v_2;
-}
-
diff --git a/test/tint/samples/simple_vertex.spvasm.expected.ir.fxc.hlsl b/test/tint/samples/simple_vertex.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 9944838..0000000
--- a/test/tint/samples/simple_vertex.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-struct main_out {
-  float4 gl_Position;
-};
-
-struct main_outputs {
-  float4 main_out_gl_Position : SV_Position;
-};
-
-
-static float4 gl_Position = (0.0f).xxxx;
-void main_1() {
-  gl_Position = (0.0f).xxxx;
-}
-
-main_out main_inner() {
-  main_1();
-  main_out v = {gl_Position};
-  return v;
-}
-
-main_outputs main() {
-  main_out v_1 = main_inner();
-  main_outputs v_2 = {v_1.gl_Position};
-  return v_2;
-}
-
diff --git a/test/tint/samples/simple_vertex.spvasm.expected.msl b/test/tint/samples/simple_vertex.spvasm.expected.msl
deleted file mode 100644
index f2a517c..0000000
--- a/test/tint/samples/simple_vertex.spvasm.expected.msl
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread float4* gl_Position;
-};
-
-struct main_out {
-  float4 gl_Position;
-};
-
-struct main_outputs {
-  float4 main_out_gl_Position [[position]];
-};
-
-void main_1(tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.gl_Position) = float4(0.0f);
-}
-
-main_out main_inner(tint_module_vars_struct tint_module_vars) {
-  main_1(tint_module_vars);
-  return main_out{.gl_Position=(*tint_module_vars.gl_Position)};
-}
-
-vertex main_outputs v() {
-  thread float4 gl_Position = 0.0f;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.gl_Position=(&gl_Position)};
-  main_outputs tint_wrapper_result = {};
-  tint_wrapper_result.main_out_gl_Position = main_inner(tint_module_vars).gl_Position;
-  return tint_wrapper_result;
-}
diff --git a/test/tint/samples/simple_vertex.spvasm.expected.spvasm b/test/tint/samples/simple_vertex.spvasm.expected.spvasm
deleted file mode 100644
index e711a63..0000000
--- a/test/tint/samples/simple_vertex.spvasm.expected.spvasm
+++ /dev/null
@@ -1,52 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Vertex %main "main" %main_position_Output %main___point_size_Output
-               OpName %gl_Position "gl_Position"
-               OpName %main_position_Output "main_position_Output"
-               OpName %main___point_size_Output "main___point_size_Output"
-               OpName %main_1 "main_1"
-               OpName %main_inner "main_inner"
-               OpMemberName %main_out 0 "gl_Position"
-               OpName %main_out "main_out"
-               OpName %main "main"
-               OpDecorate %main_position_Output BuiltIn Position
-               OpDecorate %main___point_size_Output BuiltIn PointSize
-      %float = OpTypeFloat 32
-    %v4float = OpTypeVector %float 4
-%_ptr_Private_v4float = OpTypePointer Private %v4float
-          %5 = OpConstantNull %v4float
-%gl_Position = OpVariable %_ptr_Private_v4float Private %5
-%_ptr_Output_v4float = OpTypePointer Output %v4float
-%main_position_Output = OpVariable %_ptr_Output_v4float Output
-%_ptr_Output_float = OpTypePointer Output %float
-%main___point_size_Output = OpVariable %_ptr_Output_float Output
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-   %main_out = OpTypeStruct %v4float
-         %16 = OpTypeFunction %main_out
-    %float_1 = OpConstant %float 1
-     %main_1 = OpFunction %void None %12
-         %13 = OpLabel
-               OpStore %gl_Position %5 None
-               OpReturn
-               OpFunctionEnd
- %main_inner = OpFunction %main_out None %16
-         %17 = OpLabel
-         %18 = OpFunctionCall %void %main_1
-         %19 = OpLoad %v4float %gl_Position None
-         %20 = OpCompositeConstruct %main_out %19
-               OpReturnValue %20
-               OpFunctionEnd
-       %main = OpFunction %void None %12
-         %22 = OpLabel
-         %23 = OpFunctionCall %main_out %main_inner
-         %24 = OpCompositeExtract %v4float %23 0
-               OpStore %main_position_Output %24 None
-               OpStore %main___point_size_Output %float_1 None
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 3ecd74f..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    if (false) {
-      break;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:12: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 3ecd74f..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    if (false) {
-      break;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:12: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 090acd8..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,28 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    {
-      if (false) { break; }
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:15: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 658a7a0..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    {
-      if (false) { break; }
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(5,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e26864d..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,28 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:15: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 7a70c57..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(5,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 078b719..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,40 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    if (true) {
-      var_1 = 2u;
-      if (false) {
-        break;
-      } else {
-        {
-          var_1 = 4u;
-        }
-        continue;
-      }
-    }
-    var_1 = 3u;
-    {
-      var_1 = 4u;
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:27: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cf0b231..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    if (true) {
-      var_1 = 2u;
-      if (false) {
-        break;
-      } else {
-        {
-          var_1 = 4u;
-        }
-        continue;
-      }
-    }
-    var_1 = 3u;
-    {
-      var_1 = 4u;
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(5,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d90701eb..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    var_1 = 2u;
-    if (false) {
-      break;
-    }
-    var_1 = 3u;
-    {
-      var_1 = 4u;
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:20: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 6eb0d89..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,30 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    var_1 = 2u;
-    if (false) {
-      break;
-    }
-    var_1 = 3u;
-    {
-      var_1 = 4u;
-    }
-  }
-  var_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(5,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 3ecd74f..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    if (false) {
-      break;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:12: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 47eba93..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,29 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-    {
-      var_1 = 2u;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:16: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.fxc.hlsl
deleted file mode 100644
index f7b8a5f..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-    {
-      var_1 = 2u;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(4,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a02871c..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,30 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-    var_1 = 3u;
-    {
-      var_1 = 2u;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:17: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cf3bfbc..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-    var_1 = 3u;
-    {
-      var_1 = 2u;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(4,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 00ccb57..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,28 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-  }
-  var_1 = 999u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:15: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 268e618..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  var_1 = 0u;
-  while (true) {
-    var_1 = 1u;
-    if (false) {
-      break;
-    }
-  }
-  var_1 = 999u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(5,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 3ecd74f..0000000
--- a/test/tint/unittest/reader/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: INVALID
-
-static uint var_1 = 0u;
-
-void main_1() {
-  while (true) {
-    if (false) {
-      break;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:12: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 84209ea..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,40 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-
-void main_1() {
-  x_1 = 0u;
-  while (true) {
-    uint x_2 = 0u;
-    x_1 = 1u;
-    if (false) {
-      break;
-    }
-    x_1 = 3u;
-    if (true) {
-      x_2 = 2u;
-    } else {
-      return;
-    }
-    x_1 = x_2;
-    {
-      x_1 = 4u;
-      if (false) { break; }
-    }
-  }
-  x_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:27: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ce4d53e..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-
-void main_1() {
-  x_1 = 0u;
-  while (true) {
-    uint x_2 = 0u;
-    x_1 = 1u;
-    if (false) {
-      break;
-    }
-    x_1 = 3u;
-    if (true) {
-      x_2 = 2u;
-    } else {
-      return;
-    }
-    x_1 = x_2;
-    {
-      x_1 = 4u;
-      if (false) { break; }
-    }
-  }
-  x_1 = 5u;
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(5,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.dxc.hlsl
deleted file mode 100644
index c22fd46..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,46 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  bool x_101 = x_7;
-  bool x_102 = x_8;
-  while (true) {
-    uint x_2 = 0u;
-    if (x_101) {
-      break;
-    }
-    if (x_102) {
-      x_2 = 0u;
-      {
-        x_1 = x_2;
-      }
-      continue;
-    } else {
-      x_2 = 1u;
-      {
-        x_1 = x_2;
-      }
-      continue;
-    }
-    {
-      x_1 = x_2;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:33: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d1dd5216..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  bool x_101 = x_7;
-  bool x_102 = x_8;
-  while (true) {
-    uint x_2 = 0u;
-    if (x_101) {
-      break;
-    }
-    if (x_102) {
-      x_2 = 0u;
-      {
-        x_1 = x_2;
-      }
-      continue;
-    } else {
-      x_2 = 1u;
-      {
-        x_1 = x_2;
-      }
-      continue;
-    }
-    {
-      x_1 = x_2;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(8,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.dxc.hlsl
deleted file mode 100644
index f707198..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,46 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  bool x_101 = x_7;
-  bool x_102 = x_8;
-  while (true) {
-    uint x_2 = 0u;
-    if (x_101) {
-      break;
-    }
-    x_2 = 0u;
-    if (x_102) {
-      x_2 = 1u;
-      {
-        x_1 = x_2;
-      }
-      continue;
-    } else {
-      {
-        x_1 = x_2;
-      }
-      continue;
-    }
-    {
-      x_1 = x_2;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:33: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a872cbd..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  bool x_101 = x_7;
-  bool x_102 = x_8;
-  while (true) {
-    uint x_2 = 0u;
-    if (x_101) {
-      break;
-    }
-    x_2 = 0u;
-    if (x_102) {
-      x_2 = 1u;
-      {
-        x_1 = x_2;
-      }
-      continue;
-    } else {
-      {
-        x_1 = x_2;
-      }
-      continue;
-    }
-    {
-      x_1 = x_2;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-<scrubbed_path>(8,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 735e441..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  while (true) {
-    uint x_2 = 0u;
-    uint x_3 = 0u;
-    bool x_101 = x_7;
-    bool x_102 = x_8;
-    x_2 = 0u;
-    x_3 = 1u;
-    if (x_101) {
-      break;
-    }
-    while (true) {
-      uint x_4 = 0u;
-      if (x_102) {
-        break;
-      }
-      {
-        x_4 = (x_2 + 1u);
-        uint x_3_c30 = x_3;
-        x_2 = x_4;
-        x_3 = x_3_c30;
-      }
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:32: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b44402d..0000000
--- a/test/tint/unittest/reader/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,41 +0,0 @@
-SKIP: INVALID
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  while (true) {
-    uint x_2 = 0u;
-    uint x_3 = 0u;
-    bool x_101 = x_7;
-    bool x_102 = x_8;
-    x_2 = 0u;
-    x_3 = 1u;
-    if (x_101) {
-      break;
-    }
-    while (true) {
-      uint x_3_c20 = x_3;
-      x_2 = (x_2 + 1u);
-      x_3 = x_3_c20;
-      if (x_102) {
-        break;
-      }
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:28: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5e98c68..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5e98c68..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 8f5a6c6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 0aea479..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 0aea479..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 8d40597..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 8bdd7e8..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index cc2a2ae..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cc2a2ae..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 9e3143a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index f2188fd..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index f2188fd..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.msl
deleted file mode 100644
index a67fb13..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index a0c92f5..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index bfcb3ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index bfcb3ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 280988f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAdd_794055() {
-  int res = 0;
-  int x_11 = atomicAdd(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAdd_794055();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 489ec6f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 489ec6f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index f1024af..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAdd_794055(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_add_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_794055(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 370637b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_794055 "atomicAdd_794055"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAdd_794055 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicIAdd %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicAdd_794055
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index f3c710a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index f3c710a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 8b101cb..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint x_10 = atomicAdd(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAdd_d5db1d();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index eba26de..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index eba26de..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index dfe343e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAdd_d5db1d(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_add_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_d5db1d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 18c5cb6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAdd/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_d5db1d "atomicAdd_d5db1d"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAdd_d5db1d = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicIAdd %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicAdd_d5db1d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e5c4576..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int res = 0;
-  int x_9 = sb_rwatomicAnd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int res = 0;
-  int x_9 = sb_rwatomicAnd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e5c4576..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int res = 0;
-  int x_9 = sb_rwatomicAnd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int res = 0;
-  int x_9 = sb_rwatomicAnd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index fcfc158..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_152966() {
-  int res = 0;
-  int x_9 = atomicAnd(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAnd_152966();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_152966() {
-  int res = 0;
-  int x_9 = atomicAnd(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAnd_152966();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 68fd301..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 68fd301..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.msl
deleted file mode 100644
index e212a37..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_152966(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_152966(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_152966(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_152966(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 41290d7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_152966 "atomicAnd_152966"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAnd_152966 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicAnd %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAnd_152966
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_152966 "atomicAnd_152966"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAnd_152966 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicAnd %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAnd_152966
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index efcf16d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAnd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAnd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index efcf16d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAnd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAnd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index b6db82e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint x_9 = atomicAnd(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint x_9 = atomicAnd(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAnd_85a8d9();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c2486f5..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c2486f5..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 84198da..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_85a8d9(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_85a8d9(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_85a8d9(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_85a8d9(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index c323c2c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_85a8d9 "atomicAnd_85a8d9"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAnd_85a8d9 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicAnd %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAnd_85a8d9
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_85a8d9 "atomicAnd_85a8d9"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAnd_85a8d9 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicAnd %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAnd_85a8d9
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 1c357d7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_45a819() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAnd(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 1c357d7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_45a819() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAnd(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 3e75911..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAnd_45a819() {
-  int res = 0;
-  int x_11 = atomicAnd(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAnd_45a819();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 4f611d7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAnd_45a819() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAnd(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 4f611d7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAnd_45a819() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAnd(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 530f6af..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAnd_45a819(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_and_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAnd_45a819(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 1ca039b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAnd_45a819 "atomicAnd_45a819"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAnd_45a819 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicAnd %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicAnd_45a819
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 684e133..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_34edd3() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAnd(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 684e133..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_34edd3() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAnd(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 32fe112..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAnd_34edd3() {
-  uint res = 0u;
-  uint x_10 = atomicAnd(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAnd_34edd3();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index e21bb45..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAnd_34edd3() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAnd(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index e21bb45..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAnd_34edd3() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAnd(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 9a38334..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAnd_34edd3(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_and_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAnd_34edd3(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 182526c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicAnd/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAnd_34edd3 "atomicAnd_34edd3"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAnd_34edd3 = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicAnd %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicAnd_34edd3
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e47846a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1, 1);
-  int old_value_1 = tint_symbol.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_19, (x_19 == 1)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1, 1);
-  int old_value_1 = tint_symbol.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_19, (x_19 == 1)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e47846a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1, 1);
-  int old_value_1 = tint_symbol.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_19, (x_19 == 1)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1, 1);
-  int old_value_1 = tint_symbol.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_19, (x_19 == 1)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 97f5516..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-struct tint_struct {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_1bd40a() {
-  tint_struct res = tint_struct(0, false);
-  int v_1 = atomicCompSwap(v.inner.arg_0, 1, 1);
-  int old_value_1 = atomic_compare_exchange_result_i32(v_1, (v_1 == 1)).old_value;
-  int x_19 = old_value_1;
-  res = tint_struct(x_19, (x_19 == 1));
-}
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-struct tint_struct {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_1bd40a() {
-  tint_struct res = tint_struct(0, false);
-  int v_1 = atomicCompSwap(v.inner.arg_0, 1, 1);
-  int old_value_1 = atomic_compare_exchange_result_i32(v_1, (v_1 == 1)).old_value;
-  int x_19 = old_value_1;
-  res = tint_struct(x_19, (x_19 == 1));
-}
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index ffb3a68..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), int(1), int(1), v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(1))};
-  int old_value_1 = v_2.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_19, (x_19 == int(1))};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), int(1), int(1), v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(1))};
-  int old_value_1 = v_2.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_19, (x_19 == int(1))};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index ffb3a68..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), int(1), int(1), v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(1))};
-  int old_value_1 = v_2.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_19, (x_19 == int(1))};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), int(1), int(1), v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(1))};
-  int old_value_1 = v_2.old_value;
-  int x_19 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_19, (x_19 == int(1))};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 7db69aa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_i32 v(device atomic_int* const atomic_ptr, int cmp, int val) {
-  int old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_i32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_1bd40a(tint_module_vars_struct tint_module_vars) {
-  x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{};
-  int const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), 1, 1).old_value;
-  int const x_19 = old_value_1;
-  res = x__atomic_compare_exchange_resulti32{.old_value=x_19, .exchanged=(x_19 == 1)};
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_1bd40a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_i32 v(device atomic_int* const atomic_ptr, int cmp, int val) {
-  int old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_i32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_1bd40a(tint_module_vars_struct tint_module_vars) {
-  x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{};
-  int const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), 1, 1).old_value;
-  int const x_19 = old_value_1;
-  res = x__atomic_compare_exchange_resulti32{.old_value=x_19, .exchanged=(x_19 == 1)};
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_1bd40a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 40efbcc..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,150 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 34
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_1bd40a "atomicCompareExchangeWeak_1bd40a"
-               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
-               OpName %res "res"
-               OpMemberName %__atomic_compare_exchange_result_i32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_i32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_i32 "__atomic_compare_exchange_result_i32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_19"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
-%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
-         %14 = OpConstantNull %x__atomic_compare_exchange_resulti32
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%__atomic_compare_exchange_result_i32 = OpTypeStruct %int %bool
-%atomicCompareExchangeWeak_1bd40a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function
-               OpStore %res %14
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-         %19 = OpAtomicCompareExchange %int %15 %uint_1 %uint_0 %uint_0 %int_1 %int_1
-         %22 = OpIEqual %bool %19 %int_1
-         %24 = OpCompositeConstruct %__atomic_compare_exchange_result_i32 %19 %22
-%old_value_1 = OpCompositeExtract %int %24 0
-         %26 = OpIEqual %bool %old_value_1 %int_1
-         %27 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %old_value_1 %26
-               OpStore %res %27 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %29 = OpLabel
-         %30 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %32 = OpLabel
-         %33 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 34
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_1bd40a "atomicCompareExchangeWeak_1bd40a"
-               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
-               OpName %res "res"
-               OpMemberName %__atomic_compare_exchange_result_i32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_i32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_i32 "__atomic_compare_exchange_result_i32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_19"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
-%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
-         %14 = OpConstantNull %x__atomic_compare_exchange_resulti32
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%__atomic_compare_exchange_result_i32 = OpTypeStruct %int %bool
-%atomicCompareExchangeWeak_1bd40a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function
-               OpStore %res %14
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-         %19 = OpAtomicCompareExchange %int %15 %uint_1 %uint_0 %uint_0 %int_1 %int_1
-         %22 = OpIEqual %bool %19 %int_1
-         %24 = OpCompositeConstruct %__atomic_compare_exchange_result_i32 %19 %22
-%old_value_1 = OpCompositeExtract %int %24 0
-         %26 = OpIEqual %bool %old_value_1 %int_1
-         %27 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %old_value_1 %26
-               OpStore %res %27 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %29 = OpLabel
-         %30 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %32 = OpLabel
-         %33 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 2c789f1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1u, 1u);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_17, (x_17 == 1u)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1u, 1u);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_17, (x_17 == 1u)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 2c789f1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1u, 1u);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_17, (x_17 == 1u)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, 1u, 1u);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_17, (x_17 == 1u)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 0f569ed..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-struct tint_struct {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_63d8e6() {
-  tint_struct res = tint_struct(0u, false);
-  uint v_1 = atomicCompSwap(v.inner.arg_0, 1u, 1u);
-  uint old_value_1 = atomic_compare_exchange_result_u32(v_1, (v_1 == 1u)).old_value;
-  uint x_17 = old_value_1;
-  res = tint_struct(x_17, (x_17 == 1u));
-}
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-struct tint_struct {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_63d8e6() {
-  tint_struct res = tint_struct(0u, false);
-  uint v_1 = atomicCompSwap(v.inner.arg_0, 1u, 1u);
-  uint old_value_1 = atomic_compare_exchange_result_u32(v_1, (v_1 == 1u)).old_value;
-  uint x_17 = old_value_1;
-  res = tint_struct(x_17, (x_17 == 1u));
-}
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 275b2e7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, 1u, 1u, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == 1u)};
-  uint old_value_1 = v_2.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_17, (x_17 == 1u)};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, 1u, 1u, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == 1u)};
-  uint old_value_1 = v_2.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_17, (x_17 == 1u)};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 275b2e7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, 1u, 1u, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == 1u)};
-  uint old_value_1 = v_2.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_17, (x_17 == 1u)};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, 1u, 1u, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == 1u)};
-  uint old_value_1 = v_2.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_17, (x_17 == 1u)};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.msl
deleted file mode 100644
index da47455..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_u32 v(device atomic_uint* const atomic_ptr, uint cmp, uint val) {
-  uint old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_u32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_63d8e6(tint_module_vars_struct tint_module_vars) {
-  x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{};
-  uint const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), 1u, 1u).old_value;
-  uint const x_17 = old_value_1;
-  res = x__atomic_compare_exchange_resultu32{.old_value=x_17, .exchanged=(x_17 == 1u)};
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_63d8e6(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_u32 v(device atomic_uint* const atomic_ptr, uint cmp, uint val) {
-  uint old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_u32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_63d8e6(tint_module_vars_struct tint_module_vars) {
-  x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{};
-  uint const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), 1u, 1u).old_value;
-  uint const x_17 = old_value_1;
-  res = x__atomic_compare_exchange_resultu32{.old_value=x_17, .exchanged=(x_17 == 1u)};
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_63d8e6(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index f6859e1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,146 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 32
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_63d8e6 "atomicCompareExchangeWeak_63d8e6"
-               OpMemberName %x__atomic_compare_exchange_resultu32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resultu32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resultu32 "x__atomic_compare_exchange_resultu32"
-               OpName %res "res"
-               OpMemberName %__atomic_compare_exchange_result_u32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_u32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_u32 "__atomic_compare_exchange_result_u32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_17"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
-%_ptr_Function_x__atomic_compare_exchange_resultu32 = OpTypePointer Function %x__atomic_compare_exchange_resultu32
-         %14 = OpConstantNull %x__atomic_compare_exchange_resultu32
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%__atomic_compare_exchange_result_u32 = OpTypeStruct %uint %bool
-%atomicCompareExchangeWeak_63d8e6 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resultu32 Function
-               OpStore %res %14
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-         %18 = OpAtomicCompareExchange %uint %15 %uint_1 %uint_0 %uint_0 %uint_1 %uint_1
-         %20 = OpIEqual %bool %18 %uint_1
-         %22 = OpCompositeConstruct %__atomic_compare_exchange_result_u32 %18 %20
-%old_value_1 = OpCompositeExtract %uint %22 0
-         %24 = OpIEqual %bool %old_value_1 %uint_1
-         %25 = OpCompositeConstruct %x__atomic_compare_exchange_resultu32 %old_value_1 %24
-               OpStore %res %25 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %27 = OpLabel
-         %28 = OpFunctionCall %void %atomicCompareExchangeWeak_63d8e6
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %30 = OpLabel
-         %31 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 32
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_63d8e6 "atomicCompareExchangeWeak_63d8e6"
-               OpMemberName %x__atomic_compare_exchange_resultu32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resultu32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resultu32 "x__atomic_compare_exchange_resultu32"
-               OpName %res "res"
-               OpMemberName %__atomic_compare_exchange_result_u32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_u32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_u32 "__atomic_compare_exchange_result_u32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_17"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
-%_ptr_Function_x__atomic_compare_exchange_resultu32 = OpTypePointer Function %x__atomic_compare_exchange_resultu32
-         %14 = OpConstantNull %x__atomic_compare_exchange_resultu32
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%__atomic_compare_exchange_result_u32 = OpTypeStruct %uint %bool
-%atomicCompareExchangeWeak_63d8e6 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resultu32 Function
-               OpStore %res %14
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-         %18 = OpAtomicCompareExchange %uint %15 %uint_1 %uint_0 %uint_0 %uint_1 %uint_1
-         %20 = OpIEqual %bool %18 %uint_1
-         %22 = OpCompositeConstruct %__atomic_compare_exchange_result_u32 %18 %20
-%old_value_1 = OpCompositeExtract %uint %22 0
-         %24 = OpIEqual %bool %old_value_1 %uint_1
-         %25 = OpCompositeConstruct %x__atomic_compare_exchange_resultu32 %old_value_1 %24
-               OpStore %res %25 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %27 = OpLabel
-         %28 = OpFunctionCall %void %atomicCompareExchangeWeak_63d8e6
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %30 = OpLabel
-         %31 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 61abde0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,64 +0,0 @@
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_e88938() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  atomic_compare_exchange_result_i32 atomic_result_1 = (atomic_compare_exchange_result_i32)0;
-  int atomic_compare_value = 1;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, 1, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_i32 tint_symbol = atomic_result_1;
-  int old_value_1 = tint_symbol.old_value;
-  int x_18 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_3 = {x_18, (x_18 == 1)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-  return;
-}
-
-void compute_main_1() {
-  uint x_36 = local_invocation_index_1;
-  compute_main_inner(x_36);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 61abde0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,64 +0,0 @@
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_e88938() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  atomic_compare_exchange_result_i32 atomic_result_1 = (atomic_compare_exchange_result_i32)0;
-  int atomic_compare_value = 1;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, 1, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_i32 tint_symbol = atomic_result_1;
-  int old_value_1 = tint_symbol.old_value;
-  int x_18 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_3 = {x_18, (x_18 == 1)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-  return;
-}
-
-void compute_main_1() {
-  uint x_36 = local_invocation_index_1;
-  compute_main_inner(x_36);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 83376ed..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,43 +0,0 @@
-#version 310 es
-
-
-struct tint_struct {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicCompareExchangeWeak_e88938() {
-  tint_struct res = tint_struct(0, false);
-  int v = atomicCompSwap(arg_0, 1, 1);
-  int old_value_1 = atomic_compare_exchange_result_i32(v, (v == 1)).old_value;
-  int x_18 = old_value_1;
-  res = tint_struct(x_18, (x_18 == 1));
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicCompareExchangeWeak_e88938();
-}
-void compute_main_1() {
-  uint x_36 = local_invocation_index_1;
-  compute_main_inner(x_36);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 46fd52d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicCompareExchangeWeak_e88938() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  int v = int(0);
-  InterlockedCompareExchange(arg_0, int(1), int(1), v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(1))};
-  int old_value_1 = v_2.old_value;
-  int x_18 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_18, (x_18 == int(1))};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_4 = int(0);
-  InterlockedExchange(arg_0, int(0), v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-}
-
-void compute_main_1() {
-  uint x_36 = local_invocation_index_1;
-  compute_main_inner(x_36);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_5 = int(0);
-    InterlockedExchange(arg_0, int(0), v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 46fd52d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicCompareExchangeWeak_e88938() {
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  int v = int(0);
-  InterlockedCompareExchange(arg_0, int(1), int(1), v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(1))};
-  int old_value_1 = v_2.old_value;
-  int x_18 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_18, (x_18 == int(1))};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_4 = int(0);
-  InterlockedExchange(arg_0, int(0), v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-}
-
-void compute_main_1() {
-  uint x_36 = local_invocation_index_1;
-  compute_main_inner(x_36);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_5 = int(0);
-    InterlockedExchange(arg_0, int(0), v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index b505d4c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-atomic_compare_exchange_result_i32 v(threadgroup atomic_int* const atomic_ptr, int cmp, int val) {
-  int old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_i32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_e88938(tint_module_vars_struct tint_module_vars) {
-  x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{};
-  int const old_value_1 = v(tint_module_vars.arg_0, 1, 1).old_value;
-  int const x_18 = old_value_1;
-  res = x__atomic_compare_exchange_resulti32{.old_value=x_18, .exchanged=(x_18 == 1)};
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicCompareExchangeWeak_e88938(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_36 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_36, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v_2).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 4ec90d4..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,101 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 56
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicCompareExchangeWeak_e88938 "atomicCompareExchangeWeak_e88938"
-               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
-               OpName %res "res"
-               OpMemberName %__atomic_compare_exchange_result_i32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_i32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_i32 "__atomic_compare_exchange_result_i32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_18"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_36 "x_36"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
-%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
-         %18 = OpConstantNull %x__atomic_compare_exchange_resulti32
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-%__atomic_compare_exchange_result_i32 = OpTypeStruct %int %bool
-         %31 = OpTypeFunction %void %uint
-      %int_0 = OpConstant %int 0
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-%atomicCompareExchangeWeak_e88938 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function
-               OpStore %res %18
-         %19 = OpAtomicCompareExchange %int %arg_0 %uint_2 %uint_0 %uint_0 %int_1 %int_1
-         %23 = OpIEqual %bool %19 %int_1
-         %25 = OpCompositeConstruct %__atomic_compare_exchange_result_i32 %19 %23
-%old_value_1 = OpCompositeExtract %int %25 0
-         %27 = OpIEqual %bool %old_value_1 %int_1
-         %28 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %old_value_1 %27
-               OpStore %res %28 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %31
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %32 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %37 = OpFunctionCall %void %atomicCompareExchangeWeak_e88938
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %39 = OpLabel
-       %x_36 = OpLoad %uint %local_invocation_index_1 None
-         %41 = OpFunctionCall %void %compute_main_inner %x_36
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %31
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %44 = OpLabel
-         %45 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %47 None
-               OpBranchConditional %45 %48 %47
-         %48 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %47
-         %47 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %51 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %53 = OpLabel
-         %54 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %55 = OpFunctionCall %void %compute_main_inner_0 %54
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a005ee0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,64 +0,0 @@
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_83580d() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  atomic_compare_exchange_result_u32 atomic_result_1 = (atomic_compare_exchange_result_u32)0;
-  uint atomic_compare_value = 1u;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, 1u, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_u32 tint_symbol = atomic_result_1;
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_3 = {x_17, (x_17 == 1u)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a005ee0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,64 +0,0 @@
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_83580d() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  atomic_compare_exchange_result_u32 atomic_result_1 = (atomic_compare_exchange_result_u32)0;
-  uint atomic_compare_value = 1u;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, 1u, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_u32 tint_symbol = atomic_result_1;
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_3 = {x_17, (x_17 == 1u)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index a7d5a6a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,43 +0,0 @@
-#version 310 es
-
-
-struct tint_struct {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicCompareExchangeWeak_83580d() {
-  tint_struct res = tint_struct(0u, false);
-  uint v = atomicCompSwap(arg_0, 1u, 1u);
-  uint old_value_1 = atomic_compare_exchange_result_u32(v, (v == 1u)).old_value;
-  uint x_17 = old_value_1;
-  res = tint_struct(x_17, (x_17 == 1u));
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicCompareExchangeWeak_83580d();
-}
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7d39283..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicCompareExchangeWeak_83580d() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  uint v = 0u;
-  InterlockedCompareExchange(arg_0, 1u, 1u, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == 1u)};
-  uint old_value_1 = v_2.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_17, (x_17 == 1u)};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_4 = 0u;
-  InterlockedExchange(arg_0, 0u, v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_5 = 0u;
-    InterlockedExchange(arg_0, 0u, v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7d39283..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicCompareExchangeWeak_83580d() {
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  uint v = 0u;
-  InterlockedCompareExchange(arg_0, 1u, 1u, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == 1u)};
-  uint old_value_1 = v_2.old_value;
-  uint x_17 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_17, (x_17 == 1u)};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_4 = 0u;
-  InterlockedExchange(arg_0, 0u, v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_5 = 0u;
-    InterlockedExchange(arg_0, 0u, v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index f93a1aa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-atomic_compare_exchange_result_u32 v(threadgroup atomic_uint* const atomic_ptr, uint cmp, uint val) {
-  uint old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_u32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_83580d(tint_module_vars_struct tint_module_vars) {
-  x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{};
-  uint const old_value_1 = v(tint_module_vars.arg_0, 1u, 1u).old_value;
-  uint const x_17 = old_value_1;
-  res = x__atomic_compare_exchange_resultu32{.old_value=x_17, .exchanged=(x_17 == 1u)};
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicCompareExchangeWeak_83580d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_35 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_35, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v_2).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 5677072..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicCompareExchange/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,98 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 53
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicCompareExchangeWeak_83580d "atomicCompareExchangeWeak_83580d"
-               OpMemberName %x__atomic_compare_exchange_resultu32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resultu32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resultu32 "x__atomic_compare_exchange_resultu32"
-               OpName %res "res"
-               OpMemberName %__atomic_compare_exchange_result_u32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_u32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_u32 "__atomic_compare_exchange_result_u32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_17"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_35 "x_35"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
-%_ptr_Function_x__atomic_compare_exchange_resultu32 = OpTypePointer Function %x__atomic_compare_exchange_resultu32
-         %17 = OpConstantNull %x__atomic_compare_exchange_resultu32
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%__atomic_compare_exchange_result_u32 = OpTypeStruct %uint %bool
-         %30 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-%atomicCompareExchangeWeak_83580d = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resultu32 Function
-               OpStore %res %17
-         %18 = OpAtomicCompareExchange %uint %arg_0 %uint_2 %uint_0 %uint_0 %uint_1 %uint_1
-         %22 = OpIEqual %bool %18 %uint_1
-         %24 = OpCompositeConstruct %__atomic_compare_exchange_result_u32 %18 %22
-%old_value_1 = OpCompositeExtract %uint %24 0
-         %26 = OpIEqual %bool %old_value_1 %uint_1
-         %27 = OpCompositeConstruct %x__atomic_compare_exchange_resultu32 %old_value_1 %26
-               OpStore %res %27 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %30
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %31 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %35 = OpFunctionCall %void %atomicCompareExchangeWeak_83580d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %37 = OpLabel
-       %x_35 = OpLoad %uint %local_invocation_index_1 None
-         %39 = OpFunctionCall %void %compute_main_inner %x_35
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %30
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %42 = OpLabel
-         %43 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %44 None
-               OpBranchConditional %43 %45 %44
-         %45 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %44
-         %44 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %48 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %50 = OpLabel
-         %51 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %52 = OpFunctionCall %void %compute_main_inner_0 %51
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index af178cc..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int res = 0;
-  int x_9 = sb_rwatomicExchange(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int res = 0;
-  int x_9 = sb_rwatomicExchange(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index af178cc..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int res = 0;
-  int x_9 = sb_rwatomicExchange(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int res = 0;
-  int x_9 = sb_rwatomicExchange(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 9d31f4e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_f2e22f() {
-  int res = 0;
-  int x_9 = atomicExchange(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_f2e22f() {
-  int res = 0;
-  int x_9 = atomicExchange(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicExchange_f2e22f();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index e862b2e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index e862b2e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 5aeb4ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_f2e22f(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_f2e22f(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_f2e22f(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_f2e22f(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index d1cc53b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_f2e22f "atomicExchange_f2e22f"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicExchange_f2e22f = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicExchange %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicExchange_f2e22f
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_f2e22f "atomicExchange_f2e22f"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicExchange_f2e22f = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicExchange %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicExchange_f2e22f
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 93886a1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicExchange(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicExchange(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 93886a1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicExchange(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicExchange(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 596e4dc..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint x_9 = atomicExchange(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicExchange_d59712();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint x_9 = atomicExchange(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicExchange_d59712();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 9b2aba8..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 9b2aba8..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 9140a03..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_d59712(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_d59712(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_d59712(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_d59712(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 6634ca7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_d59712 "atomicExchange_d59712"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicExchange_d59712 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicExchange %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicExchange_d59712
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_d59712 "atomicExchange_d59712"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicExchange_d59712 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicExchange %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicExchange_d59712
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5effe9b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_e114ba() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5effe9b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_e114ba() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 4d178ad..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicExchange_e114ba() {
-  int res = 0;
-  int x_11 = atomicExchange(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicExchange_e114ba();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c46081c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicExchange_e114ba() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedExchange(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c46081c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicExchange_e114ba() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedExchange(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 9827dd0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicExchange_e114ba(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_exchange_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicExchange_e114ba(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 24f994e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicExchange_e114ba "atomicExchange_e114ba"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicExchange_e114ba = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicExchange %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicExchange_e114ba
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 78d0a13..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_0a5dca() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 78d0a13..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_0a5dca() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 6c496d8..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicExchange_0a5dca() {
-  uint res = 0u;
-  uint x_10 = atomicExchange(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicExchange_0a5dca();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 8d8a144..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicExchange_0a5dca() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedExchange(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 8d8a144..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicExchange_0a5dca() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedExchange(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 6f9709e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicExchange_0a5dca(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_exchange_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicExchange_0a5dca(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 9b51236..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicExchange/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicExchange_0a5dca "atomicExchange_0a5dca"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicExchange_0a5dca = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicExchange %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicExchange_0a5dca
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 7ee6e4d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 7ee6e4d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 1cb5a31..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = atomicOr(v.inner.arg_0, 0);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicLoad_0806ad();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = atomicOr(v.inner.arg_0, 0);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicLoad_0806ad();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7192993..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7192993..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 88ea577..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_0806ad(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_0806ad(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_0806ad(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_0806ad(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 573eca0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,118 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_0806ad "atomicLoad_0806ad"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_0806ad = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %int %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicLoad_0806ad
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_0806ad "atomicLoad_0806ad"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_0806ad = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %int %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicLoad_0806ad
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 31375c6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 31375c6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 001e2ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = atomicOr(v.inner.arg_0, 0u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = atomicOr(v.inner.arg_0, 0u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 51832d6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 51832d6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 460927c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_fe6cc3(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_fe6cc3(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_fe6cc3(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_fe6cc3(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index bee0654..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_fe6cc3 "atomicLoad_fe6cc3"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_fe6cc3 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %uint %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicLoad_fe6cc3
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_fe6cc3 "atomicLoad_fe6cc3"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_fe6cc3 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %uint %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicLoad_fe6cc3
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a13e9f1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_afcc03() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a13e9f1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_afcc03() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index fa46fc4..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicLoad_afcc03() {
-  int res = 0;
-  int x_11 = atomicOr(arg_0, 0);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicLoad_afcc03();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 12849ff..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicLoad_afcc03() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedOr(arg_0, int(0), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 12849ff..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicLoad_afcc03() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedOr(arg_0, int(0), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index d601946..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicLoad_afcc03(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_load_explicit(tint_module_vars.arg_0, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicLoad_afcc03(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 11219a2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,85 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicLoad_afcc03 "atomicLoad_afcc03"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %22 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicLoad_afcc03 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicLoad %int %arg_0 %uint_2 %uint_0
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %22
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %23 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %27 = OpFunctionCall %void %atomicLoad_afcc03
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %29 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %31 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %22
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %34 = OpLabel
-         %35 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %35 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 89372e1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-  return;
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 89372e1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-  return;
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 1d996d2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint x_10 = atomicOr(arg_0, 0u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicLoad_361bf1();
-}
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 82befca..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedOr(arg_0, 0u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 82befca..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedOr(arg_0, 0u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index f4015f9..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicLoad_361bf1(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_load_explicit(tint_module_vars.arg_0, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicLoad_361bf1(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_29 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_29, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 22c4b2d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicLoad/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicLoad_361bf1 "atomicLoad_361bf1"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_29 "x_29"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-         %20 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicLoad_361bf1 = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicLoad %uint %arg_0 %uint_2 %uint_0
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %20
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %21 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %25 = OpFunctionCall %void %atomicLoad_361bf1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %27 = OpLabel
-       %x_29 = OpLoad %uint %local_invocation_index_1 None
-         %29 = OpFunctionCall %void %compute_main_inner %x_29
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %20
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %32 = OpLabel
-         %33 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %33 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 74d90d0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int res = 0;
-  int x_9 = sb_rwatomicMax(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int res = 0;
-  int x_9 = sb_rwatomicMax(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 74d90d0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int res = 0;
-  int x_9 = sb_rwatomicMax(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int res = 0;
-  int x_9 = sb_rwatomicMax(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 35d3450..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_92aa72() {
-  int res = 0;
-  int x_9 = atomicMax(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicMax_92aa72();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_92aa72() {
-  int res = 0;
-  int x_9 = atomicMax(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicMax_92aa72();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index a46d53c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a46d53c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.msl
deleted file mode 100644
index c42a6ca..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_92aa72(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_92aa72(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_92aa72(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_92aa72(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 5f9084f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_92aa72 "atomicMax_92aa72"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicMax_92aa72 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicSMax %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicMax_92aa72
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_92aa72 "atomicMax_92aa72"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicMax_92aa72 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicSMax %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicMax_92aa72
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 0653b23..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMax(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMax(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 0653b23..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMax(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMax(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 9712aeb..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint x_9 = atomicMax(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicMax_51b9be();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint x_9 = atomicMax(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicMax_51b9be();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 3e6edaa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 3e6edaa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.msl
deleted file mode 100644
index ae851ed..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_51b9be(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_51b9be(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_51b9be(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_51b9be(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 1ce03aa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_51b9be "atomicMax_51b9be"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicMax_51b9be = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicUMax %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicMax_51b9be
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_51b9be "atomicMax_51b9be"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicMax_51b9be = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicUMax %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicMax_51b9be
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d5dd355..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_a89cc3() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedMax(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d5dd355..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_a89cc3() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedMax(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 0bc735f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicMax_a89cc3() {
-  int res = 0;
-  int x_11 = atomicMax(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicMax_a89cc3();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d6eb217..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMax_a89cc3() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedMax(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d6eb217..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMax_a89cc3() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedMax(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 468e97e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicMax_a89cc3(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_max_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMax_a89cc3(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 0ff37aa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMax_a89cc3 "atomicMax_a89cc3"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicMax_a89cc3 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicSMax %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicMax_a89cc3
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d2132ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_beccfc() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedMax(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d2132ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_beccfc() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedMax(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index b3bddc0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicMax_beccfc() {
-  uint res = 0u;
-  uint x_10 = atomicMax(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicMax_beccfc();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index daad20f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMax_beccfc() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedMax(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index daad20f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMax_beccfc() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedMax(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 5d782b3..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicMax_beccfc(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_max_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMax_beccfc(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index b8efdbf..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMax/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMax_beccfc "atomicMax_beccfc"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicMax_beccfc = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicUMax %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicMax_beccfc
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8e09ea2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int res = 0;
-  int x_9 = sb_rwatomicMin(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int res = 0;
-  int x_9 = sb_rwatomicMin(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8e09ea2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int res = 0;
-  int x_9 = sb_rwatomicMin(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int res = 0;
-  int x_9 = sb_rwatomicMin(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 9d63941..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_8e38dc() {
-  int res = 0;
-  int x_9 = atomicMin(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicMin_8e38dc();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_8e38dc() {
-  int res = 0;
-  int x_9 = atomicMin(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicMin_8e38dc();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index ef6fa8b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index ef6fa8b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 2a1bf55..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_8e38dc(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_8e38dc(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_8e38dc(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_8e38dc(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 8f969b2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_8e38dc "atomicMin_8e38dc"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicMin_8e38dc = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicSMin %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicMin_8e38dc
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_8e38dc "atomicMin_8e38dc"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicMin_8e38dc = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicSMin %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicMin_8e38dc
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e5ea4bf..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMin(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMin(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e5ea4bf..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMin(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicMin(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index d873dcd..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint x_9 = atomicMin(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicMin_c67a74();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint x_9 = atomicMin(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicMin_c67a74();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 5593e8f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 5593e8f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 1150efa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_c67a74(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_c67a74(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_c67a74(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_c67a74(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 256591e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_c67a74 "atomicMin_c67a74"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicMin_c67a74 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicUMin %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicMin_c67a74
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_c67a74 "atomicMin_c67a74"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicMin_c67a74 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicUMin %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicMin_c67a74
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 94e8cfe..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_278235() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedMin(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 94e8cfe..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_278235() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedMin(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 58b649b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicMin_278235() {
-  int res = 0;
-  int x_11 = atomicMin(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicMin_278235();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 20e45fb..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMin_278235() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedMin(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 20e45fb..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMin_278235() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedMin(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 432db83..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicMin_278235(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_min_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMin_278235(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 18006f8..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMin_278235 "atomicMin_278235"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicMin_278235 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicSMin %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicMin_278235
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index dc36e72..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_69d383() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedMin(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index dc36e72..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_69d383() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedMin(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index f84bf1e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicMin_69d383() {
-  uint res = 0u;
-  uint x_10 = atomicMin(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicMin_69d383();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 3aefe6e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMin_69d383() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedMin(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 3aefe6e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMin_69d383() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedMin(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 6f7abba..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicMin_69d383(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_min_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMin_69d383(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index c580af2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicMin/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMin_69d383 "atomicMin_69d383"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicMin_69d383 = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicUMin %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicMin_69d383
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index cda95d2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int res = 0;
-  int x_9 = sb_rwatomicOr(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int res = 0;
-  int x_9 = sb_rwatomicOr(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cda95d2..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int res = 0;
-  int x_9 = sb_rwatomicOr(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int res = 0;
-  int x_9 = sb_rwatomicOr(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 9f975a0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_8d96a0() {
-  int res = 0;
-  int x_9 = atomicOr(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicOr_8d96a0();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_8d96a0() {
-  int res = 0;
-  int x_9 = atomicOr(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicOr_8d96a0();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index ac69468..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index ac69468..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 95cb49e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_8d96a0(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_8d96a0(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_8d96a0(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_8d96a0(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index a789a61..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_8d96a0 "atomicOr_8d96a0"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicOr_8d96a0 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicOr %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicOr_8d96a0
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_8d96a0 "atomicOr_8d96a0"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicOr_8d96a0 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicOr %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicOr_8d96a0
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 790ca9c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicOr(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicOr(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 790ca9c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicOr(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicOr(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index efb541f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint x_9 = atomicOr(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicOr_5e95d4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint x_9 = atomicOr(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicOr_5e95d4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index a7fe571..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a7fe571..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.msl
deleted file mode 100644
index ce41664..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_5e95d4(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_5e95d4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_5e95d4(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_5e95d4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 952c7b8..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_5e95d4 "atomicOr_5e95d4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicOr_5e95d4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicOr %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicOr_5e95d4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_5e95d4 "atomicOr_5e95d4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicOr_5e95d4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicOr %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicOr_5e95d4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8b501ca..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_d09248() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8b501ca..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_d09248() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index cdf8d53..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicOr_d09248() {
-  int res = 0;
-  int x_11 = atomicOr(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicOr_d09248();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 2f50828..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicOr_d09248() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedOr(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 2f50828..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicOr_d09248() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedOr(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index e2184d6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicOr_d09248(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_or_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicOr_d09248(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 8acae69..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicOr_d09248 "atomicOr_d09248"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicOr_d09248 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicOr %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicOr_d09248
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index c8e400b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_5e3d61() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index c8e400b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_5e3d61() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index ee5d90c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicOr_5e3d61() {
-  uint res = 0u;
-  uint x_10 = atomicOr(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicOr_5e3d61();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 4fdee9c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicOr_5e3d61() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedOr(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 4fdee9c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicOr_5e3d61() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedOr(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index e2a1b1d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicOr_5e3d61(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_or_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicOr_5e3d61(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index fafea7d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicOr/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicOr_5e3d61 "atomicOr_5e3d61"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicOr_5e3d61 = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicOr %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicOr_5e3d61
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b260e41..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  sb_rwatomicStore(0u, 1);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  sb_rwatomicStore(0u, 1);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b260e41..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  sb_rwatomicStore(0u, 1);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  sb_rwatomicStore(0u, 1);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 599151e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_d1e9a6() {
-  atomicExchange(v.inner.arg_0, 1);
-}
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_d1e9a6() {
-  atomicExchange(v.inner.arg_0, 1);
-}
-void compute_main_1() {
-  atomicStore_d1e9a6();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 1267fb6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 1267fb6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), int(1), v);
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.msl
deleted file mode 100644
index bf0c901..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_d1e9a6(tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_d1e9a6(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_d1e9a6(tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_d1e9a6(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 14cbb0c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,106 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_d1e9a6 "atomicStore_d1e9a6"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicStore_d1e9a6 = OpFunction %void None %8
-          %9 = OpLabel
-         %10 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-               OpAtomicStore %10 %uint_1 %uint_0 %int_1
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicStore_d1e9a6
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_d1e9a6 "atomicStore_d1e9a6"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicStore_d1e9a6 = OpFunction %void None %8
-          %9 = OpLabel
-         %10 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-               OpAtomicStore %10 %uint_1 %uint_0 %int_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicStore_d1e9a6
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5c55756..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  sb_rwatomicStore(0u, 1u);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  sb_rwatomicStore(0u, 1u);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5c55756..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  sb_rwatomicStore(0u, 1u);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  sb_rwatomicStore(0u, 1u);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index c7e1a85..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_cdc29e() {
-  atomicExchange(v.inner.arg_0, 1u);
-}
-void fragment_main_1() {
-  atomicStore_cdc29e();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_cdc29e() {
-  atomicExchange(v.inner.arg_0, 1u);
-}
-void compute_main_1() {
-  atomicStore_cdc29e();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 434820e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 434820e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, 1u, v);
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 4bba307..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_cdc29e(tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_cdc29e(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_cdc29e(tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_cdc29e(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 60af7f0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,102 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 21
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_cdc29e "atomicStore_cdc29e"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicStore_cdc29e = OpFunction %void None %8
-          %9 = OpLabel
-         %10 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-               OpAtomicStore %10 %uint_1 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %16 = OpLabel
-         %17 = OpFunctionCall %void %atomicStore_cdc29e
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 21
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_cdc29e "atomicStore_cdc29e"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicStore_cdc29e = OpFunction %void None %8
-          %9 = OpLabel
-         %10 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-               OpAtomicStore %10 %uint_1 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %16 = OpLabel
-         %17 = OpFunctionCall %void %atomicStore_cdc29e
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 6fda954..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_8bea94() {
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, 1, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-  return;
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 6fda954..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_8bea94() {
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, 1, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-  return;
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 576f1d0..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,28 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicStore_8bea94() {
-  atomicExchange(arg_0, 1);
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicStore_8bea94();
-}
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7518611..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,39 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicStore_8bea94() {
-  int v = int(0);
-  InterlockedExchange(arg_0, int(1), v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7518611..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,39 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicStore_8bea94() {
-  int v = int(0);
-  InterlockedExchange(arg_0, int(1), v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 8d26048..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicStore_8bea94(tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicStore_8bea94(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_29 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_29, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index d6898e3..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,80 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 46
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicStore_8bea94 "atomicStore_8bea94"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_29 "x_29"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %20 = OpTypeFunction %void %uint
-      %int_0 = OpConstant %int 0
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicStore_8bea94 = OpFunction %void None %12
-         %13 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %20
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %21 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicStore_8bea94
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %28 = OpLabel
-       %x_29 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_29
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %20
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %37 None
-               OpBranchConditional %34 %38 %37
-         %38 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %37
-         %37 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %41 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %43 = OpLabel
-         %44 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %45 = OpFunctionCall %void %compute_main_inner_0 %44
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5ee971f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_726882() {
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, 1u, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-  return;
-}
-
-void compute_main_1() {
-  uint x_28 = local_invocation_index_1;
-  compute_main_inner(x_28);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5ee971f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_726882() {
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, 1u, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-  return;
-}
-
-void compute_main_1() {
-  uint x_28 = local_invocation_index_1;
-  compute_main_inner(x_28);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index d7adb96..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,28 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicStore_726882() {
-  atomicExchange(arg_0, 1u);
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicStore_726882();
-}
-void compute_main_1() {
-  uint x_28 = local_invocation_index_1;
-  compute_main_inner(x_28);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index a8d2d69..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,39 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicStore_726882() {
-  uint v = 0u;
-  InterlockedExchange(arg_0, 1u, v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-}
-
-void compute_main_1() {
-  uint x_28 = local_invocation_index_1;
-  compute_main_inner(x_28);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a8d2d69..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,39 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicStore_726882() {
-  uint v = 0u;
-  InterlockedExchange(arg_0, 1u, v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-}
-
-void compute_main_1() {
-  uint x_28 = local_invocation_index_1;
-  compute_main_inner(x_28);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 7041421..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicStore_726882(tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicStore_726882(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_28 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_28, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 65c3c6e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicStore/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,77 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 43
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicStore_726882 "atomicStore_726882"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_28 "x_28"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-         %19 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicStore_726882 = OpFunction %void None %11
-         %12 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %19
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %20 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %24 = OpFunctionCall %void %atomicStore_726882
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %26 = OpLabel
-       %x_28 = OpLoad %uint %local_invocation_index_1 None
-         %28 = OpFunctionCall %void %compute_main_inner %x_28
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %19
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %31 = OpLabel
-         %32 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %34 None
-               OpBranchConditional %32 %35 %34
-         %35 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %34
-         %34 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %38 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %40 = OpLabel
-         %41 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %42 = OpFunctionCall %void %compute_main_inner_0 %41
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index ec1c4e1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ec1c4e1..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index f5f644f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_051100() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, -(1));
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicSub_051100();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_051100() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, -(1));
-  res = x_9;
-}
-void compute_main_1() {
-  atomicSub_051100();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 67b6225..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 67b6225..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 9c8b7a9..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_051100(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_051100(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_051100(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_051100(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index edebd41..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_051100 "atomicSub_051100"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicSub_051100 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicSub_051100
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_051100 "atomicSub_051100"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicSub_051100 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicSub_051100
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d12c54c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d12c54c..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 988cd4d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, -(1u));
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicSub_15bfc9();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, -(1u));
-  res = x_9;
-}
-void compute_main_1() {
-  atomicSub_15bfc9();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 6dc0f87..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 6dc0f87..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.msl
deleted file mode 100644
index edadeb6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_15bfc9(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_15bfc9(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_15bfc9(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_15bfc9(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 0ef37a7..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_15bfc9 "atomicSub_15bfc9"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicSub_15bfc9 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicSub_15bfc9
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_15bfc9 "atomicSub_15bfc9"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicSub_15bfc9 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicSub_15bfc9
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index fb1e091..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_77883a() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(1), atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index fb1e091..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_77883a() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(1), atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 7975472..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicSub_77883a() {
-  int res = 0;
-  int x_11 = atomicAdd(arg_0, -(1));
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicSub_77883a();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index f28a6fa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicSub_77883a() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - int(1)), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index f28a6fa..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicSub_77883a() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - int(1)), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 82034a5..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicSub_77883a(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicSub_77883a(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 5c4e54f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicSub_77883a "atomicSub_77883a"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicSub_77883a = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicISub %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicSub_77883a
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index ca7ee90..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_0d26c2() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(1u), atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ca7ee90..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_0d26c2() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(1u), atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 75976ff..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicSub_0d26c2() {
-  uint res = 0u;
-  uint x_10 = atomicAdd(arg_0, -(1u));
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicSub_0d26c2();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 041ce2a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicSub_0d26c2() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - 1u), v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 041ce2a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicSub_0d26c2() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - 1u), v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index ab0d27b..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicSub_0d26c2(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicSub_0d26c2(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 34b604d..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicSub/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicSub_0d26c2 "atomicSub_0d26c2"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicSub_0d26c2 = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicISub %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicSub_0d26c2
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d9d497f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int res = 0;
-  int x_9 = sb_rwatomicXor(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int res = 0;
-  int x_9 = sb_rwatomicXor(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d9d497f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int res = 0;
-  int x_9 = sb_rwatomicXor(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int res = 0;
-  int x_9 = sb_rwatomicXor(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 6c3435a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_c1b78c() {
-  int res = 0;
-  int x_9 = atomicXor(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicXor_c1b78c();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_c1b78c() {
-  int res = 0;
-  int x_9 = atomicXor(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicXor_c1b78c();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index fb9b353..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index fb9b353..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 25120c6..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_c1b78c(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_c1b78c(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_c1b78c(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_c1b78c(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 4096e62..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_c1b78c "atomicXor_c1b78c"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicXor_c1b78c = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicXor %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicXor_c1b78c
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_c1b78c "atomicXor_c1b78c"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicXor_c1b78c = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicXor %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicXor_c1b78c
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index f45bb74..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicXor(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicXor(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index f45bb74..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicXor(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicXor(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 86e9e3f..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint x_9 = atomicXor(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicXor_54510e();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint x_9 = atomicXor(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicXor_54510e();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 142b692..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 142b692..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 2ca7441..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_54510e(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_54510e(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_54510e(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_54510e(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index abc8944..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_54510e "atomicXor_54510e"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicXor_54510e = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicXor %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicXor_54510e
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_54510e "atomicXor_54510e"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicXor_54510e = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicXor %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicXor_54510e
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e726e1e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_75dc95() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedXor(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e726e1e..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_75dc95() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedXor(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 215407a..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicXor_75dc95() {
-  int res = 0;
-  int x_11 = atomicXor(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicXor_75dc95();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 4728aff..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicXor_75dc95() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedXor(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 4728aff..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicXor_75dc95() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedXor(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 3d89c89..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicXor_75dc95(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_xor_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicXor_75dc95(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 041ed63..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicXor_75dc95 "atomicXor_75dc95"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicXor_75dc95 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicXor %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicXor_75dc95
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5f41669..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_c8e6be() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedXor(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5f41669..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_c8e6be() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedXor(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 549abe4..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicXor_c8e6be() {
-  uint res = 0u;
-  uint x_10 = atomicXor(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicXor_c8e6be();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index aba77cb..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicXor_c8e6be() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedXor(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index aba77cb..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicXor_c8e6be() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedXor(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 3020687..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicXor_c8e6be(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_xor_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicXor_c8e6be(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 4bf0612..0000000
--- a/test/tint/unittest/reader/atomics/literal/atomicXor/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicXor_c8e6be "atomicXor_c8e6be"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicXor_c8e6be = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicXor %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicXor_c8e6be
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 22381c6..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 22381c6..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicSub(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index ae8744b..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, -(1));
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, -(1));
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index f86b917..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index f86b917..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.msl
deleted file mode 100644
index d7838de..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 5540a62..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 1277a19..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 1277a19..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicSub(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index f948962..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, -(1u));
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, -(1u));
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index cfc68f2..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index cfc68f2..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 585c6e4..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index d7713d4..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicISub %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5f9aae8..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(1), atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5f9aae8..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(1), atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index bbe271d..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAdd_794055() {
-  int res = 0;
-  int x_11 = atomicAdd(arg_0, -(1));
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAdd_794055();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 534d71a..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - int(1)), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 534d71a..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - int(1)), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 5461b10..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAdd_794055(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_794055(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index ae3104f2..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_794055 "atomicAdd_794055"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAdd_794055 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicISub %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicAdd_794055
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index f573e9e..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(1u), atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index f573e9e..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(1u), atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index f94ff8e..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint x_10 = atomicAdd(arg_0, -(1u));
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAdd_d5db1d();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index e8e90d8..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - 1u), v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index e8e90d8..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - 1u), v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 67b439e5..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAdd_d5db1d(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_d5db1d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 6b99bd5..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicDecrement/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_d5db1d "atomicAdd_d5db1d"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAdd_d5db1d = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicISub %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicAdd_d5db1d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5e98c68..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5e98c68..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = sb_rwatomicAdd(0u, 1);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 8f5a6c6..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, 1);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int res = 0;
-  int x_9 = atomicAdd(v.inner.arg_0, 1);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 0aea479..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 0aea479..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 8d40597..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 8bdd7e8..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,120 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-      %int_1 = OpConstant %int 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %int %13 %uint_1 %uint_0 %int_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index cc2a2ae..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cc2a2ae..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicAdd(0u, 1u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 9e3143a..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint x_9 = atomicAdd(v.inner.arg_0, 1u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index f2188fd..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index f2188fd..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.msl
deleted file mode 100644
index a67fb13..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index a0c92f5..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicIAdd %uint %13 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index bfcb3ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index bfcb3ee..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, 1, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 280988f..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAdd_794055() {
-  int res = 0;
-  int x_11 = atomicAdd(arg_0, 1);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAdd_794055();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 489ec6f..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 489ec6f..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedAdd(arg_0, int(1), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index f1024af..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAdd_794055(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_fetch_add_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_794055(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 370637b..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,86 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 48
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_794055 "atomicAdd_794055"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-      %int_1 = OpConstant %int 1
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAdd_794055 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicIAdd %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicAdd_794055
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %30 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %39 None
-               OpBranchConditional %36 %40 %39
-         %40 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %39
-         %39 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %43 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %45 = OpLabel
-         %46 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %47 = OpFunctionCall %void %compute_main_inner_0 %46
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index f3c710a..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index f3c710a..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, 1u, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 8b101cb..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint x_10 = atomicAdd(arg_0, 1u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAdd_d5db1d();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index eba26de..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index eba26de..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, 1u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index dfe343e..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAdd_d5db1d(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_fetch_add_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_d5db1d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 18c5cb6..0000000
--- a/test/tint/unittest/reader/atomics/literal/spvAtomicIncrement/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_d5db1d "atomicAdd_d5db1d"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-         %21 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAdd_d5db1d = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicIAdd %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %21
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %22 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %26 = OpFunctionCall %void %atomicAdd_d5db1d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %28 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %30 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %21
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %33 = OpLabel
-         %34 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %34 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 7544a9c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAdd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAdd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 7544a9c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAdd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAdd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index da3dea9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicAdd(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicAdd(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7f334d3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7f334d3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 76fc048..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index dc0b9c2..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b6f8c16..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAdd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAdd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b6f8c16..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAdd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAdd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 6c4abb1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicAdd(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicAdd(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 99d46ef..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 99d46ef..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 98f3e0c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index e677a55..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 1ececd5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 1ececd5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 359288f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicAdd(arg_0, x_19);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAdd_794055();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 6fbcb70..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedAdd(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 6fbcb70..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedAdd(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index e73cf58..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAdd_794055(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_fetch_add_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_794055(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index e38a9e4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_794055 "atomicAdd_794055"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAdd_794055 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicIAdd %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicAdd_794055
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e440393..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e440393..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index effb53d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicAdd(arg_0, x_18);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAdd_d5db1d();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 54ae113..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedAdd(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 54ae113..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedAdd(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 78156cf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAdd_d5db1d(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_fetch_add_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_d5db1d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 0556b95..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAdd/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_d5db1d "atomicAdd_d5db1d"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAdd_d5db1d = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicIAdd %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicAdd_d5db1d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e68d6ac..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAnd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAnd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e68d6ac..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAnd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAnd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_152966() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicAnd(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index fd6d228..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_152966() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicAnd(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAnd_152966();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_152966() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicAnd(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAnd_152966();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 4a53ad1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 4a53ad1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAnd_152966();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_152966() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAnd(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAnd_152966();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 71e8d72..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_152966(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_152966(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_152966(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_152966(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 4057aad..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_152966 "atomicAnd_152966"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAnd_152966 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicAnd %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicAnd_152966
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_152966 "atomicAnd_152966"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAnd_152966 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicAnd %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicAnd_152966
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b91fe96..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAnd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAnd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b91fe96..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAnd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAnd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAnd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicAnd(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index a7ec3f1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicAnd(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicAnd(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAnd_85a8d9();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 12dcfdf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 12dcfdf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAnd_85a8d9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAnd_85a8d9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAnd(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAnd_85a8d9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 7a3c114..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_85a8d9(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_85a8d9(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAnd_85a8d9(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_and_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAnd_85a8d9(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index ef4b3ef..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_85a8d9 "atomicAnd_85a8d9"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAnd_85a8d9 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicAnd %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicAnd_85a8d9
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAnd_85a8d9 "atomicAnd_85a8d9"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAnd_85a8d9 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicAnd %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicAnd_85a8d9
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 830b231..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_45a819() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedAnd(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 830b231..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_45a819() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedAnd(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 0e72612..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAnd_45a819() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicAnd(arg_0, x_19);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAnd_45a819();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index ed666bc..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAnd_45a819() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedAnd(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index ed666bc..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAnd_45a819() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedAnd(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_45a819();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index f764fbd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAnd_45a819(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_fetch_and_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAnd_45a819(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 62ed4bf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAnd_45a819 "atomicAnd_45a819"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAnd_45a819 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicAnd %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicAnd_45a819
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 80deb9b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_34edd3() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedAnd(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 80deb9b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAnd_34edd3() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedAnd(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 4219fc4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAnd_34edd3() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicAnd(arg_0, x_18);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAnd_34edd3();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index a4f0e52..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAnd_34edd3() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedAnd(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a4f0e52..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAnd_34edd3() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedAnd(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAnd_34edd3();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index a3c7f39..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAnd_34edd3(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_fetch_and_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAnd_34edd3(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 792ab0f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicAnd/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAnd_34edd3 "atomicAnd_34edd3"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAnd_34edd3 = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicAnd %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicAnd_34edd3
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index ba7185c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_24, x_23);
-  int old_value_1 = tint_symbol.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_25, (x_25 == x_23)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_24, x_23);
-  int old_value_1 = tint_symbol.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_25, (x_25 == x_23)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ba7185c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_24, x_23);
-  int old_value_1 = tint_symbol.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_25, (x_25 == x_23)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_i32 sb_rwatomicCompareExchangeWeak(uint offset, int compare, int value) {
-  atomic_compare_exchange_result_i32 result=(atomic_compare_exchange_result_i32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  atomic_compare_exchange_result_i32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_24, x_23);
-  int old_value_1 = tint_symbol.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_1 = {x_25, (x_25 == x_23)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 31acd63..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-struct tint_struct {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  tint_struct res = tint_struct(0, false);
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  int v_1 = atomicCompSwap(v.inner.arg_0, x_24, x_23);
-  int old_value_1 = atomic_compare_exchange_result_i32(v_1, (v_1 == x_24)).old_value;
-  int x_25 = old_value_1;
-  res = tint_struct(x_25, (x_25 == x_23));
-}
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-struct tint_struct {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  tint_struct res = tint_struct(0, false);
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  int v_1 = atomicCompSwap(v.inner.arg_0, x_24, x_23);
-  int old_value_1 = atomic_compare_exchange_result_i32(v_1, (v_1 == x_24)).old_value;
-  int x_25 = old_value_1;
-  res = tint_struct(x_25, (x_25 == x_23));
-}
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 2ba5e0e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = int(0);
-  int arg_2 = int(0);
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = int(1);
-  arg_2 = int(1);
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), x_24, x_23, v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == x_24)};
-  int old_value_1 = v_2.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_25, (x_25 == x_23)};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = int(0);
-  int arg_2 = int(0);
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = int(1);
-  arg_2 = int(1);
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), x_24, x_23, v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == x_24)};
-  int old_value_1 = v_2.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_25, (x_25 == x_23)};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 2ba5e0e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = int(0);
-  int arg_2 = int(0);
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = int(1);
-  arg_2 = int(1);
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), x_24, x_23, v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == x_24)};
-  int old_value_1 = v_2.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_25, (x_25 == x_23)};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_1bd40a() {
-  int arg_1 = int(0);
-  int arg_2 = int(0);
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = int(1);
-  arg_2 = int(1);
-  int x_23 = arg_2;
-  int x_24 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedCompareExchange(int(0u), x_24, x_23, v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == x_24)};
-  int old_value_1 = v_2.old_value;
-  int x_25 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_25, (x_25 == x_23)};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_1bd40a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.msl
deleted file mode 100644
index b419c46..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,102 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_i32 v(device atomic_int* const atomic_ptr, int cmp, int val) {
-  int old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_i32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_1bd40a(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{};
-  arg_1 = 1;
-  arg_2 = 1;
-  int const x_23 = arg_2;
-  int const x_24 = arg_1;
-  int const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), x_24, x_23).old_value;
-  int const x_25 = old_value_1;
-  res = x__atomic_compare_exchange_resulti32{.old_value=x_25, .exchanged=(x_25 == x_23)};
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_1bd40a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_i32 v(device atomic_int* const atomic_ptr, int cmp, int val) {
-  int old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_i32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_1bd40a(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{};
-  arg_1 = 1;
-  arg_2 = 1;
-  int const x_23 = arg_2;
-  int const x_24 = arg_1;
-  int const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), x_24, x_23).old_value;
-  int const x_25 = old_value_1;
-  res = x__atomic_compare_exchange_resulti32{.old_value=x_25, .exchanged=(x_25 == x_23)};
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_1bd40a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index fda66a4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,178 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 40
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_1bd40a "atomicCompareExchangeWeak_1bd40a"
-               OpName %arg_1 "arg_1"
-               OpName %arg_2 "arg_2"
-               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
-               OpName %res "res"
-               OpName %x_23 "x_23"
-               OpName %x_24 "x_24"
-               OpMemberName %__atomic_compare_exchange_result_i32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_i32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_i32 "__atomic_compare_exchange_result_i32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_25"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
-%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
-         %18 = OpConstantNull %x__atomic_compare_exchange_resulti32
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%__atomic_compare_exchange_result_i32 = OpTypeStruct %int %bool
-%atomicCompareExchangeWeak_1bd40a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-      %arg_2 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function
-               OpStore %arg_1 %int_0
-               OpStore %arg_2 %int_0
-               OpStore %res %18
-               OpStore %arg_1 %int_1 None
-               OpStore %arg_2 %int_1 None
-       %x_23 = OpLoad %int %arg_2 None
-       %x_24 = OpLoad %int %arg_1 None
-         %22 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-         %26 = OpAtomicCompareExchange %int %22 %uint_1 %uint_0 %uint_0 %x_23 %x_24
-         %28 = OpIEqual %bool %26 %x_24
-         %30 = OpCompositeConstruct %__atomic_compare_exchange_result_i32 %26 %28
-%old_value_1 = OpCompositeExtract %int %30 0
-         %32 = OpIEqual %bool %old_value_1 %x_23
-         %33 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %old_value_1 %32
-               OpStore %res %33 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %35 = OpLabel
-         %36 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %38 = OpLabel
-         %39 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 40
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_1bd40a "atomicCompareExchangeWeak_1bd40a"
-               OpName %arg_1 "arg_1"
-               OpName %arg_2 "arg_2"
-               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
-               OpName %res "res"
-               OpName %x_23 "x_23"
-               OpName %x_24 "x_24"
-               OpMemberName %__atomic_compare_exchange_result_i32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_i32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_i32 "__atomic_compare_exchange_result_i32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_25"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
-%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
-         %18 = OpConstantNull %x__atomic_compare_exchange_resulti32
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%__atomic_compare_exchange_result_i32 = OpTypeStruct %int %bool
-%atomicCompareExchangeWeak_1bd40a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-      %arg_2 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function
-               OpStore %arg_1 %int_0
-               OpStore %arg_2 %int_0
-               OpStore %res %18
-               OpStore %arg_1 %int_1 None
-               OpStore %arg_2 %int_1 None
-       %x_23 = OpLoad %int %arg_2 None
-       %x_24 = OpLoad %int %arg_1 None
-         %22 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-         %26 = OpAtomicCompareExchange %int %22 %uint_1 %uint_0 %uint_0 %x_23 %x_24
-         %28 = OpIEqual %bool %26 %x_24
-         %30 = OpCompositeConstruct %__atomic_compare_exchange_result_i32 %26 %28
-%old_value_1 = OpCompositeExtract %int %30 0
-         %32 = OpIEqual %bool %old_value_1 %x_23
-         %33 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %old_value_1 %32
-               OpStore %res %33 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %35 = OpLabel
-         %36 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %38 = OpLabel
-         %39 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a102b6e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_22, x_21);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_23, (x_23 == x_21)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_22, x_21);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_23, (x_23 == x_21)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a102b6e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// fragment_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_22, x_21);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_23, (x_23 == x_21)};
-  res = tint_symbol_1;
-  return;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-RWByteAddressBuffer sb_rw : register(u0);
-
-atomic_compare_exchange_result_u32 sb_rwatomicCompareExchangeWeak(uint offset, uint compare, uint value) {
-  atomic_compare_exchange_result_u32 result=(atomic_compare_exchange_result_u32)0;
-  sb_rw.InterlockedCompareExchange(offset, compare, value, result.old_value);
-  result.exchanged = result.old_value == compare;
-  return result;
-}
-
-
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  atomic_compare_exchange_result_u32 tint_symbol = sb_rwatomicCompareExchangeWeak(0u, x_22, x_21);
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_1 = {x_23, (x_23 == x_21)};
-  res = tint_symbol_1;
-  return;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 8eb693e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-struct tint_struct {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  tint_struct res = tint_struct(0u, false);
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v_1 = atomicCompSwap(v.inner.arg_0, x_22, x_21);
-  uint old_value_1 = atomic_compare_exchange_result_u32(v_1, (v_1 == x_22)).old_value;
-  uint x_23 = old_value_1;
-  res = tint_struct(x_23, (x_23 == x_21));
-}
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-struct tint_struct {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  tint_struct res = tint_struct(0u, false);
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v_1 = atomicCompSwap(v.inner.arg_0, x_22, x_21);
-  uint old_value_1 = atomic_compare_exchange_result_u32(v_1, (v_1 == x_22)).old_value;
-  uint x_23 = old_value_1;
-  res = tint_struct(x_23, (x_23 == x_21));
-}
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index ed502bf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, x_22, x_21, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == x_22)};
-  uint old_value_1 = v_2.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_23, (x_23 == x_21)};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, x_22, x_21, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == x_22)};
-  uint old_value_1 = v_2.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_23, (x_23 == x_21)};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index ed502bf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// fragment_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, x_22, x_21, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == x_22)};
-  uint old_value_1 = v_2.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_23, (x_23 == x_21)};
-  res = v_3;
-}
-
-void fragment_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicCompareExchangeWeak_63d8e6() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedCompareExchange(0u, x_22, x_21, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == x_22)};
-  uint old_value_1 = v_2.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_23, (x_23 == x_21)};
-  res = v_3;
-}
-
-void compute_main_1() {
-  atomicCompareExchangeWeak_63d8e6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 08f1bf0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,102 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_u32 v(device atomic_uint* const atomic_ptr, uint cmp, uint val) {
-  uint old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_u32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_63d8e6(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{};
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint const x_21 = arg_2;
-  uint const x_22 = arg_1;
-  uint const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), x_22, x_21).old_value;
-  uint const x_23 = old_value_1;
-  res = x__atomic_compare_exchange_resultu32{.old_value=x_23, .exchanged=(x_23 == x_21)};
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_63d8e6(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-atomic_compare_exchange_result_u32 v(device atomic_uint* const atomic_ptr, uint cmp, uint val) {
-  uint old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_u32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_63d8e6(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{};
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint const x_21 = arg_2;
-  uint const x_22 = arg_1;
-  uint const old_value_1 = v((&(*tint_module_vars.sb_rw).arg_0), x_22, x_21).old_value;
-  uint const x_23 = old_value_1;
-  res = x__atomic_compare_exchange_resultu32{.old_value=x_23, .exchanged=(x_23 == x_21)};
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicCompareExchangeWeak_63d8e6(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 4bbe2b1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,172 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 37
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_63d8e6 "atomicCompareExchangeWeak_63d8e6"
-               OpName %arg_1 "arg_1"
-               OpName %arg_2 "arg_2"
-               OpMemberName %x__atomic_compare_exchange_resultu32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resultu32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resultu32 "x__atomic_compare_exchange_resultu32"
-               OpName %res "res"
-               OpName %x_21 "x_21"
-               OpName %x_22 "x_22"
-               OpMemberName %__atomic_compare_exchange_result_u32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_u32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_u32 "__atomic_compare_exchange_result_u32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_23"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
-%_ptr_Function_x__atomic_compare_exchange_resultu32 = OpTypePointer Function %x__atomic_compare_exchange_resultu32
-         %18 = OpConstantNull %x__atomic_compare_exchange_resultu32
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%__atomic_compare_exchange_result_u32 = OpTypeStruct %uint %bool
-%atomicCompareExchangeWeak_63d8e6 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-      %arg_2 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resultu32 Function
-               OpStore %arg_1 %uint_0
-               OpStore %arg_2 %uint_0
-               OpStore %res %18
-               OpStore %arg_1 %uint_1 None
-               OpStore %arg_2 %uint_1 None
-       %x_21 = OpLoad %uint %arg_2 None
-       %x_22 = OpLoad %uint %arg_1 None
-         %22 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-         %24 = OpAtomicCompareExchange %uint %22 %uint_1 %uint_0 %uint_0 %x_21 %x_22
-         %25 = OpIEqual %bool %24 %x_22
-         %27 = OpCompositeConstruct %__atomic_compare_exchange_result_u32 %24 %25
-%old_value_1 = OpCompositeExtract %uint %27 0
-         %29 = OpIEqual %bool %old_value_1 %x_21
-         %30 = OpCompositeConstruct %x__atomic_compare_exchange_resultu32 %old_value_1 %29
-               OpStore %res %30 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %32 = OpLabel
-         %33 = OpFunctionCall %void %atomicCompareExchangeWeak_63d8e6
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %35 = OpLabel
-         %36 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 37
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicCompareExchangeWeak_63d8e6 "atomicCompareExchangeWeak_63d8e6"
-               OpName %arg_1 "arg_1"
-               OpName %arg_2 "arg_2"
-               OpMemberName %x__atomic_compare_exchange_resultu32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resultu32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resultu32 "x__atomic_compare_exchange_resultu32"
-               OpName %res "res"
-               OpName %x_21 "x_21"
-               OpName %x_22 "x_22"
-               OpMemberName %__atomic_compare_exchange_result_u32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_u32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_u32 "__atomic_compare_exchange_result_u32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_23"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
-%_ptr_Function_x__atomic_compare_exchange_resultu32 = OpTypePointer Function %x__atomic_compare_exchange_resultu32
-         %18 = OpConstantNull %x__atomic_compare_exchange_resultu32
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%__atomic_compare_exchange_result_u32 = OpTypeStruct %uint %bool
-%atomicCompareExchangeWeak_63d8e6 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-      %arg_2 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resultu32 Function
-               OpStore %arg_1 %uint_0
-               OpStore %arg_2 %uint_0
-               OpStore %res %18
-               OpStore %arg_1 %uint_1 None
-               OpStore %arg_2 %uint_1 None
-       %x_21 = OpLoad %uint %arg_2 None
-       %x_22 = OpLoad %uint %arg_1 None
-         %22 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-         %24 = OpAtomicCompareExchange %uint %22 %uint_1 %uint_0 %uint_0 %x_21 %x_22
-         %25 = OpIEqual %bool %24 %x_22
-         %27 = OpCompositeConstruct %__atomic_compare_exchange_result_u32 %24 %25
-%old_value_1 = OpCompositeExtract %uint %27 0
-         %29 = OpIEqual %bool %old_value_1 %x_21
-         %30 = OpCompositeConstruct %x__atomic_compare_exchange_resultu32 %old_value_1 %29
-               OpStore %res %30 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %32 = OpLabel
-         %33 = OpFunctionCall %void %atomicCompareExchangeWeak_63d8e6
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %35 = OpLabel
-         %36 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 517c935..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,70 +0,0 @@
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_e88938() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_22 = arg_2;
-  int x_23 = arg_1;
-  atomic_compare_exchange_result_i32 atomic_result_1 = (atomic_compare_exchange_result_i32)0;
-  int atomic_compare_value = x_23;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, x_22, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_i32 tint_symbol = atomic_result_1;
-  int old_value_1 = tint_symbol.old_value;
-  int x_24 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_3 = {x_24, (x_24 == x_22)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-  return;
-}
-
-void compute_main_1() {
-  uint x_41 = local_invocation_index_1;
-  compute_main_inner(x_41);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 517c935..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,70 +0,0 @@
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_e88938() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_22 = arg_2;
-  int x_23 = arg_1;
-  atomic_compare_exchange_result_i32 atomic_result_1 = (atomic_compare_exchange_result_i32)0;
-  int atomic_compare_value = x_23;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, x_22, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_i32 tint_symbol = atomic_result_1;
-  int old_value_1 = tint_symbol.old_value;
-  int x_24 = old_value_1;
-  x__atomic_compare_exchange_resulti32 tint_symbol_3 = {x_24, (x_24 == x_22)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-  return;
-}
-
-void compute_main_1() {
-  uint x_41 = local_invocation_index_1;
-  compute_main_inner(x_41);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 9e36032..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-#version 310 es
-
-
-struct tint_struct {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicCompareExchangeWeak_e88938() {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  tint_struct res = tint_struct(0, false);
-  arg_1 = 1;
-  arg_2 = 1;
-  int x_22 = arg_2;
-  int x_23 = arg_1;
-  int v = atomicCompSwap(arg_0, x_23, x_22);
-  int old_value_1 = atomic_compare_exchange_result_i32(v, (v == x_23)).old_value;
-  int x_24 = old_value_1;
-  res = tint_struct(x_24, (x_24 == x_22));
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicCompareExchangeWeak_e88938();
-}
-void compute_main_1() {
-  uint x_41 = local_invocation_index_1;
-  compute_main_inner(x_41);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 90c584f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,62 +0,0 @@
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicCompareExchangeWeak_e88938() {
-  int arg_1 = int(0);
-  int arg_2 = int(0);
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = int(1);
-  arg_2 = int(1);
-  int x_22 = arg_2;
-  int x_23 = arg_1;
-  int v = int(0);
-  InterlockedCompareExchange(arg_0, x_23, x_22, v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == x_23)};
-  int old_value_1 = v_2.old_value;
-  int x_24 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_24, (x_24 == x_22)};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_4 = int(0);
-  InterlockedExchange(arg_0, int(0), v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-}
-
-void compute_main_1() {
-  uint x_41 = local_invocation_index_1;
-  compute_main_inner(x_41);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_5 = int(0);
-    InterlockedExchange(arg_0, int(0), v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 90c584f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,62 +0,0 @@
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicCompareExchangeWeak_e88938() {
-  int arg_1 = int(0);
-  int arg_2 = int(0);
-  x__atomic_compare_exchange_resulti32 res = (x__atomic_compare_exchange_resulti32)0;
-  arg_1 = int(1);
-  arg_2 = int(1);
-  int x_22 = arg_2;
-  int x_23 = arg_1;
-  int v = int(0);
-  InterlockedCompareExchange(arg_0, x_23, x_22, v);
-  int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == x_23)};
-  int old_value_1 = v_2.old_value;
-  int x_24 = old_value_1;
-  x__atomic_compare_exchange_resulti32 v_3 = {x_24, (x_24 == x_22)};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_4 = int(0);
-  InterlockedExchange(arg_0, int(0), v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_e88938();
-}
-
-void compute_main_1() {
-  uint x_41 = local_invocation_index_1;
-  compute_main_inner(x_41);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_5 = int(0);
-    InterlockedExchange(arg_0, int(0), v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 40d4e67..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_i32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct x__atomic_compare_exchange_resulti32 {
-  int old_value;
-  bool exchanged;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-atomic_compare_exchange_result_i32 v(threadgroup atomic_int* const atomic_ptr, int cmp, int val) {
-  int old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_i32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_e88938(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int arg_2 = 0;
-  x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{};
-  arg_1 = 1;
-  arg_2 = 1;
-  int const x_22 = arg_2;
-  int const x_23 = arg_1;
-  int const old_value_1 = v(tint_module_vars.arg_0, x_23, x_22).old_value;
-  int const x_24 = old_value_1;
-  res = x__atomic_compare_exchange_resulti32{.old_value=x_24, .exchanged=(x_24 == x_22)};
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicCompareExchangeWeak_e88938(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_41 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_41, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v_2).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 553032d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 61
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicCompareExchangeWeak_e88938 "atomicCompareExchangeWeak_e88938"
-               OpName %arg_1 "arg_1"
-               OpName %arg_2 "arg_2"
-               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
-               OpName %res "res"
-               OpName %x_22 "x_22"
-               OpName %x_23 "x_23"
-               OpMemberName %__atomic_compare_exchange_result_i32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_i32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_i32 "__atomic_compare_exchange_result_i32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_24"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_41 "x_41"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
-%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
-         %22 = OpConstantNull %x__atomic_compare_exchange_resulti32
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-%__atomic_compare_exchange_result_i32 = OpTypeStruct %int %bool
-         %37 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-%atomicCompareExchangeWeak_e88938 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-      %arg_2 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function
-               OpStore %arg_1 %int_0
-               OpStore %arg_2 %int_0
-               OpStore %res %22
-               OpStore %arg_1 %int_1 None
-               OpStore %arg_2 %int_1 None
-       %x_22 = OpLoad %int %arg_2 None
-       %x_23 = OpLoad %int %arg_1 None
-         %26 = OpAtomicCompareExchange %int %arg_0 %uint_2 %uint_0 %uint_0 %x_22 %x_23
-         %29 = OpIEqual %bool %26 %x_23
-         %31 = OpCompositeConstruct %__atomic_compare_exchange_result_i32 %26 %29
-%old_value_1 = OpCompositeExtract %int %31 0
-         %33 = OpIEqual %bool %old_value_1 %x_22
-         %34 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %old_value_1 %33
-               OpStore %res %34 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %37
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %38 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %42 = OpFunctionCall %void %atomicCompareExchangeWeak_e88938
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %44 = OpLabel
-       %x_41 = OpLoad %uint %local_invocation_index_1 None
-         %46 = OpFunctionCall %void %compute_main_inner %x_41
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %37
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %49 = OpLabel
-         %50 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %52 None
-               OpBranchConditional %50 %53 %52
-         %53 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %52
-         %52 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %56 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %58 = OpLabel
-         %59 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %60 = OpFunctionCall %void %compute_main_inner_0 %59
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 1955922..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,70 +0,0 @@
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_83580d() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  atomic_compare_exchange_result_u32 atomic_result_1 = (atomic_compare_exchange_result_u32)0;
-  uint atomic_compare_value = x_22;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, x_21, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_u32 tint_symbol = atomic_result_1;
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_3 = {x_23, (x_23 == x_21)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_40 = local_invocation_index_1;
-  compute_main_inner(x_40);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 1955922..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,70 +0,0 @@
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicCompareExchangeWeak_83580d() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  atomic_compare_exchange_result_u32 atomic_result_1 = (atomic_compare_exchange_result_u32)0;
-  uint atomic_compare_value = x_22;
-  InterlockedCompareExchange(arg_0, atomic_compare_value, x_21, atomic_result_1.old_value);
-  atomic_result_1.exchanged = atomic_result_1.old_value == atomic_compare_value;
-  atomic_compare_exchange_result_u32 tint_symbol = atomic_result_1;
-  uint old_value_1 = tint_symbol.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 tint_symbol_3 = {x_23, (x_23 == x_21)};
-  res = tint_symbol_3;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_40 = local_invocation_index_1;
-  compute_main_inner(x_40);
-  return;
-}
-
-struct tint_symbol_2 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_2 tint_symbol_1) {
-  compute_main_inner_1(tint_symbol_1.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 5eac447..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-#version 310 es
-
-
-struct tint_struct {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicCompareExchangeWeak_83580d() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  tint_struct res = tint_struct(0u, false);
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v = atomicCompSwap(arg_0, x_22, x_21);
-  uint old_value_1 = atomic_compare_exchange_result_u32(v, (v == x_22)).old_value;
-  uint x_23 = old_value_1;
-  res = tint_struct(x_23, (x_23 == x_21));
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicCompareExchangeWeak_83580d();
-}
-void compute_main_1() {
-  uint x_40 = local_invocation_index_1;
-  compute_main_inner(x_40);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index b8bac66..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,62 +0,0 @@
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicCompareExchangeWeak_83580d() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v = 0u;
-  InterlockedCompareExchange(arg_0, x_22, x_21, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == x_22)};
-  uint old_value_1 = v_2.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_23, (x_23 == x_21)};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_4 = 0u;
-  InterlockedExchange(arg_0, 0u, v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-}
-
-void compute_main_1() {
-  uint x_40 = local_invocation_index_1;
-  compute_main_inner(x_40);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_5 = 0u;
-    InterlockedExchange(arg_0, 0u, v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index b8bac66..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,62 +0,0 @@
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicCompareExchangeWeak_83580d() {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = (x__atomic_compare_exchange_resultu32)0;
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint x_21 = arg_2;
-  uint x_22 = arg_1;
-  uint v = 0u;
-  InterlockedCompareExchange(arg_0, x_22, x_21, v);
-  uint v_1 = v;
-  atomic_compare_exchange_result_u32 v_2 = {v_1, (v_1 == x_22)};
-  uint old_value_1 = v_2.old_value;
-  uint x_23 = old_value_1;
-  x__atomic_compare_exchange_resultu32 v_3 = {x_23, (x_23 == x_21)};
-  res = v_3;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_4 = 0u;
-  InterlockedExchange(arg_0, 0u, v_4);
-  GroupMemoryBarrierWithGroupSync();
-  atomicCompareExchangeWeak_83580d();
-}
-
-void compute_main_1() {
-  uint x_40 = local_invocation_index_1;
-  compute_main_inner(x_40);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_5 = 0u;
-    InterlockedExchange(arg_0, 0u, v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 2c17ca8..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct atomic_compare_exchange_result_u32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct x__atomic_compare_exchange_resultu32 {
-  uint old_value;
-  bool exchanged;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-atomic_compare_exchange_result_u32 v(threadgroup atomic_uint* const atomic_ptr, uint cmp, uint val) {
-  uint old_value = cmp;
-  bool const v_1 = atomic_compare_exchange_weak_explicit(atomic_ptr, (&old_value), val, memory_order_relaxed, memory_order_relaxed);
-  return atomic_compare_exchange_result_u32{.old_value=old_value, .exchanged=v_1};
-}
-
-void atomicCompareExchangeWeak_83580d(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint arg_2 = 0u;
-  x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{};
-  arg_1 = 1u;
-  arg_2 = 1u;
-  uint const x_21 = arg_2;
-  uint const x_22 = arg_1;
-  uint const old_value_1 = v(tint_module_vars.arg_0, x_22, x_21).old_value;
-  uint const x_23 = old_value_1;
-  res = x__atomic_compare_exchange_resultu32{.old_value=x_23, .exchanged=(x_23 == x_21)};
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicCompareExchangeWeak_83580d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_40 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_40, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v_2).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 947ea98..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicCompareExchange/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,111 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 58
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicCompareExchangeWeak_83580d "atomicCompareExchangeWeak_83580d"
-               OpName %arg_1 "arg_1"
-               OpName %arg_2 "arg_2"
-               OpMemberName %x__atomic_compare_exchange_resultu32 0 "old_value"
-               OpMemberName %x__atomic_compare_exchange_resultu32 1 "exchanged"
-               OpName %x__atomic_compare_exchange_resultu32 "x__atomic_compare_exchange_resultu32"
-               OpName %res "res"
-               OpName %x_21 "x_21"
-               OpName %x_22 "x_22"
-               OpMemberName %__atomic_compare_exchange_result_u32 0 "old_value"
-               OpMemberName %__atomic_compare_exchange_result_u32 1 "exchanged"
-               OpName %__atomic_compare_exchange_result_u32 "__atomic_compare_exchange_result_u32"
-               OpName %old_value_1 "old_value_1"
-               OpName %old_value_1 "x_23"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_40 "x_40"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-       %bool = OpTypeBool
-%x__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
-%_ptr_Function_x__atomic_compare_exchange_resultu32 = OpTypePointer Function %x__atomic_compare_exchange_resultu32
-         %21 = OpConstantNull %x__atomic_compare_exchange_resultu32
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-%__atomic_compare_exchange_result_u32 = OpTypeStruct %uint %bool
-         %35 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-%atomicCompareExchangeWeak_83580d = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-      %arg_2 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resultu32 Function
-               OpStore %arg_1 %uint_0
-               OpStore %arg_2 %uint_0
-               OpStore %res %21
-               OpStore %arg_1 %uint_1 None
-               OpStore %arg_2 %uint_1 None
-       %x_21 = OpLoad %uint %arg_2 None
-       %x_22 = OpLoad %uint %arg_1 None
-         %25 = OpAtomicCompareExchange %uint %arg_0 %uint_2 %uint_0 %uint_0 %x_21 %x_22
-         %27 = OpIEqual %bool %25 %x_22
-         %29 = OpCompositeConstruct %__atomic_compare_exchange_result_u32 %25 %27
-%old_value_1 = OpCompositeExtract %uint %29 0
-         %31 = OpIEqual %bool %old_value_1 %x_21
-         %32 = OpCompositeConstruct %x__atomic_compare_exchange_resultu32 %old_value_1 %31
-               OpStore %res %32 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %35
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %36 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %40 = OpFunctionCall %void %atomicCompareExchangeWeak_83580d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %42 = OpLabel
-       %x_40 = OpLoad %uint %local_invocation_index_1 None
-         %44 = OpFunctionCall %void %compute_main_inner %x_40
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %35
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %47 = OpLabel
-         %48 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %49 None
-               OpBranchConditional %48 %50 %49
-         %50 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %49
-         %49 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %53 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %55 = OpLabel
-         %56 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %57 = OpFunctionCall %void %compute_main_inner_0 %56
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a1f0bd7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicExchange(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicExchange(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a1f0bd7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicExchange(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicExchange(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_f2e22f() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicExchange(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 6d56f90..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_f2e22f() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicExchange(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_f2e22f() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicExchange(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicExchange_f2e22f();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 94f568c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 94f568c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicExchange_f2e22f();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_f2e22f() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicExchange_f2e22f();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 917f749..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_f2e22f(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_f2e22f(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_f2e22f(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_f2e22f(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index da2f3ff..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_f2e22f "atomicExchange_f2e22f"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicExchange_f2e22f = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicExchange %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicExchange_f2e22f
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_f2e22f "atomicExchange_f2e22f"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicExchange_f2e22f = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicExchange %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicExchange_f2e22f
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 0f871fb..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicExchange(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicExchange(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 0f871fb..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicExchange(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicExchange(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedExchange(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicExchange(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 4f3f85c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicExchange(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicExchange_d59712();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicExchange(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicExchange_d59712();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 904daad..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 904daad..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicExchange_d59712();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicExchange_d59712() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicExchange_d59712();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 5b50f05..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_d59712(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_d59712(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicExchange_d59712(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_exchange_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicExchange_d59712(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index f7b0f29..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_d59712 "atomicExchange_d59712"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicExchange_d59712 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicExchange %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicExchange_d59712
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicExchange_d59712 "atomicExchange_d59712"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicExchange_d59712 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicExchange %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicExchange_d59712
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index df05f11..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_e114ba() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index df05f11..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_e114ba() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 1ccd48a..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicExchange_e114ba() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicExchange(arg_0, x_19);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicExchange_e114ba();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 671f18c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicExchange_e114ba() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedExchange(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 671f18c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicExchange_e114ba() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedExchange(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_e114ba();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index c41d784..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicExchange_e114ba(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_exchange_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicExchange_e114ba(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 9c57c95..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicExchange_e114ba "atomicExchange_e114ba"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicExchange_e114ba = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicExchange %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicExchange_e114ba
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 89cc9ca..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_0a5dca() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 89cc9ca..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicExchange_0a5dca() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index a141c60..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicExchange_0a5dca() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicExchange(arg_0, x_18);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicExchange_0a5dca();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d961ec6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicExchange_0a5dca() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedExchange(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d961ec6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicExchange_0a5dca() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedExchange(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicExchange_0a5dca();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 4074796..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicExchange_0a5dca(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_exchange_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicExchange_0a5dca(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 8ca1d61..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicExchange/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicExchange_0a5dca "atomicExchange_0a5dca"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicExchange_0a5dca = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicExchange %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicExchange_0a5dca
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 7ee6e4d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 7ee6e4d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicLoad(uint offset) {
-  int value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 1cb5a31..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = atomicOr(v.inner.arg_0, 0);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicLoad_0806ad();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_0806ad() {
-  int res = 0;
-  int x_9 = atomicOr(v.inner.arg_0, 0);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicLoad_0806ad();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7192993..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7192993..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_0806ad();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_0806ad() {
-  int res = int(0);
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), int(0), v);
-  int x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_0806ad();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 88ea577..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_0806ad(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_0806ad(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_0806ad(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_0806ad(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 573eca0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,118 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_0806ad "atomicLoad_0806ad"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_0806ad = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %int %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicLoad_0806ad
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_0806ad "atomicLoad_0806ad"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_0806ad = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %int %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicLoad_0806ad
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 31375c6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 31375c6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicLoad(uint offset) {
-  uint value = 0;
-  sb_rw.InterlockedOr(offset, 0, value);
-  return value;
-}
-
-
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = sb_rwatomicLoad(0u);
-  res = x_9;
-  return;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 001e2ee..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = atomicOr(v.inner.arg_0, 0u);
-  res = x_9;
-}
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint x_9 = atomicOr(v.inner.arg_0, 0u);
-  res = x_9;
-}
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 51832d6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 51832d6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void fragment_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicLoad_fe6cc3() {
-  uint res = 0u;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, 0u, v);
-  uint x_9 = v;
-  res = x_9;
-}
-
-void compute_main_1() {
-  atomicLoad_fe6cc3();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 460927c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_fe6cc3(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_fe6cc3(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicLoad_fe6cc3(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_9 = atomic_load_explicit((&(*tint_module_vars.sb_rw).arg_0), memory_order_relaxed);
-  res = x_9;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicLoad_fe6cc3(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index bee0654..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,114 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_fe6cc3 "atomicLoad_fe6cc3"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_fe6cc3 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %uint %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicLoad_fe6cc3
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicLoad_fe6cc3 "atomicLoad_fe6cc3"
-               OpName %res "res"
-               OpName %x_9 "x_9"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-     %uint_1 = OpConstant %uint 1
-%atomicLoad_fe6cc3 = OpFunction %void None %8
-          %9 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-         %13 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-        %x_9 = OpAtomicLoad %uint %13 %uint_1 %uint_0
-               OpStore %res %x_9 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %atomicLoad_fe6cc3
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a13e9f1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_afcc03() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a13e9f1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_afcc03() {
-  int res = 0;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  int x_11 = atomic_result_1;
-  res = x_11;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-  return;
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index fa46fc4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicLoad_afcc03() {
-  int res = 0;
-  int x_11 = atomicOr(arg_0, 0);
-  res = x_11;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicLoad_afcc03();
-}
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 12849ff..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicLoad_afcc03() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedOr(arg_0, int(0), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 12849ff..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicLoad_afcc03() {
-  int res = int(0);
-  int v = int(0);
-  InterlockedOr(arg_0, int(0), v);
-  int x_11 = v;
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_afcc03();
-}
-
-void compute_main_1() {
-  uint x_30 = local_invocation_index_1;
-  compute_main_inner(x_30);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index d601946..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicLoad_afcc03(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  int const x_11 = atomic_load_explicit(tint_module_vars.arg_0, memory_order_relaxed);
-  res = x_11;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicLoad_afcc03(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_30 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_30, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 11219a2..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,85 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicLoad_afcc03 "atomicLoad_afcc03"
-               OpName %res "res"
-               OpName %x_11 "x_11"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_30 "x_30"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %22 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicLoad_afcc03 = OpFunction %void None %12
-         %13 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-       %x_11 = OpAtomicLoad %int %arg_0 %uint_2 %uint_0
-               OpStore %res %x_11 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %22
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %23 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %27 = OpFunctionCall %void %atomicLoad_afcc03
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %29 = OpLabel
-       %x_30 = OpLoad %uint %local_invocation_index_1 None
-         %31 = OpFunctionCall %void %compute_main_inner %x_30
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %22
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %34 = OpLabel
-         %35 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %35 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 89372e1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-  return;
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 89372e1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, 0, atomic_result_1);
-  uint x_10 = atomic_result_1;
-  res = x_10;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-  return;
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 1d996d2..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,30 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint x_10 = atomicOr(arg_0, 0u);
-  res = x_10;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicLoad_361bf1();
-}
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 82befca..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedOr(arg_0, 0u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 82befca..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicLoad_361bf1() {
-  uint res = 0u;
-  uint v = 0u;
-  InterlockedOr(arg_0, 0u, v);
-  uint x_10 = v;
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicLoad_361bf1();
-}
-
-void compute_main_1() {
-  uint x_29 = local_invocation_index_1;
-  compute_main_inner(x_29);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index f4015f9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicLoad_361bf1(tint_module_vars_struct tint_module_vars) {
-  uint res = 0u;
-  uint const x_10 = atomic_load_explicit(tint_module_vars.arg_0, memory_order_relaxed);
-  res = x_10;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicLoad_361bf1(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_29 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_29, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 22c4b2d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicLoad/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,83 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicLoad_361bf1 "atomicLoad_361bf1"
-               OpName %res "res"
-               OpName %x_10 "x_10"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_29 "x_29"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_2 = OpConstant %uint 2
-         %20 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicLoad_361bf1 = OpFunction %void None %11
-         %12 = OpLabel
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %res %uint_0
-       %x_10 = OpAtomicLoad %uint %arg_0 %uint_2 %uint_0
-               OpStore %res %x_10 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %20
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %21 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %25 = OpFunctionCall %void %atomicLoad_361bf1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %27 = OpLabel
-       %x_29 = OpLoad %uint %local_invocation_index_1 None
-         %29 = OpFunctionCall %void %compute_main_inner %x_29
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %20
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %32 = OpLabel
-         %33 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %36 None
-               OpBranchConditional %33 %37 %36
-         %37 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %36
-         %36 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %40 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %42 = OpLabel
-         %43 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %44 = OpFunctionCall %void %compute_main_inner_0 %43
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d033f6d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMax(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMax(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d033f6d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMax(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMax(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_92aa72() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMax(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 9c016ca..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_92aa72() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicMax(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicMax_92aa72();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_92aa72() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicMax(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicMax_92aa72();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7fb5368..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7fb5368..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMax_92aa72();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_92aa72() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMax(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMax_92aa72();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 10a4667..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_92aa72(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_92aa72(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_92aa72(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_92aa72(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 517f844..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_92aa72 "atomicMax_92aa72"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicMax_92aa72 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicSMax %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicMax_92aa72
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_92aa72 "atomicMax_92aa72"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicMax_92aa72 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicSMax %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicMax_92aa72
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b13db6f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMax(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMax(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b13db6f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMax(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMax(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMax(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMax(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 5bf0958..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicMax(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicMax_51b9be();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicMax(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicMax_51b9be();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 2bc27a0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 2bc27a0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMax_51b9be();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMax_51b9be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMax(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMax_51b9be();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 7c78a8b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_51b9be(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_51b9be(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMax_51b9be(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_max_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMax_51b9be(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 3f6c255..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_51b9be "atomicMax_51b9be"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicMax_51b9be = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicUMax %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicMax_51b9be
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMax_51b9be "atomicMax_51b9be"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicMax_51b9be = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicUMax %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicMax_51b9be
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 04198db..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_a89cc3() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedMax(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 04198db..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_a89cc3() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedMax(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index cf2b9b3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicMax_a89cc3() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicMax(arg_0, x_19);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicMax_a89cc3();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 9a997bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMax_a89cc3() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedMax(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 9a997bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMax_a89cc3() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedMax(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_a89cc3();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 9fba2f9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicMax_a89cc3(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_fetch_max_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMax_a89cc3(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index e067aca..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMax_a89cc3 "atomicMax_a89cc3"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicMax_a89cc3 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicSMax %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicMax_a89cc3
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index fc0c2e5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_beccfc() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedMax(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index fc0c2e5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMax_beccfc() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedMax(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 6877765..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicMax_beccfc() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicMax(arg_0, x_18);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicMax_beccfc();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index fb1b069..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMax_beccfc() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedMax(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index fb1b069..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMax_beccfc() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedMax(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMax_beccfc();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index b9fa7a9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicMax_beccfc(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_fetch_max_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMax_beccfc(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 9a6e2e9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMax/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMax_beccfc "atomicMax_beccfc"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicMax_beccfc = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicUMax %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicMax_beccfc
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a4fc63f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMin(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMin(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a4fc63f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMin(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicMin(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_8e38dc() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicMin(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 80ef0df..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_8e38dc() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicMin(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicMin_8e38dc();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_8e38dc() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicMin(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicMin_8e38dc();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index a3d5190..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a3d5190..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMin_8e38dc();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_8e38dc() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedMin(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMin_8e38dc();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 78e9927..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_8e38dc(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_8e38dc(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_8e38dc(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_8e38dc(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 2731fc2..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_8e38dc "atomicMin_8e38dc"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicMin_8e38dc = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicSMin %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicMin_8e38dc
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_8e38dc "atomicMin_8e38dc"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicMin_8e38dc = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicSMin %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicMin_8e38dc
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index deda5b5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMin(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMin(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index deda5b5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMin(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicMin(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedMin(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicMin(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 5f5a799..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicMin(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicMin_c67a74();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicMin(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicMin_c67a74();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 85c0714..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 85c0714..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicMin_c67a74();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicMin_c67a74() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedMin(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicMin_c67a74();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 9df980b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_c67a74(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_c67a74(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicMin_c67a74(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_min_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicMin_c67a74(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 59be688..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_c67a74 "atomicMin_c67a74"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicMin_c67a74 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicUMin %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicMin_c67a74
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicMin_c67a74 "atomicMin_c67a74"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicMin_c67a74 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicUMin %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicMin_c67a74
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e18f1c3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_278235() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedMin(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e18f1c3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_278235() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedMin(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 505220f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicMin_278235() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicMin(arg_0, x_19);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicMin_278235();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d5248bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMin_278235() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedMin(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d5248bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicMin_278235() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedMin(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_278235();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index c1b3940..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicMin_278235(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_fetch_min_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMin_278235(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 5e9e714..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMin_278235 "atomicMin_278235"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicMin_278235 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicSMin %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicMin_278235
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index cdf1a8a..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_69d383() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedMin(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cdf1a8a..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicMin_69d383() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedMin(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 38e6fac..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicMin_69d383() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicMin(arg_0, x_18);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicMin_69d383();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d632ec2..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMin_69d383() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedMin(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d632ec2..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicMin_69d383() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedMin(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicMin_69d383();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index d9ef420..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicMin_69d383(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_fetch_min_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicMin_69d383(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index ae4bede..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicMin/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicMin_69d383 "atomicMin_69d383"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicMin_69d383 = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicUMin %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicMin_69d383
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a5b2df3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicOr(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicOr(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a5b2df3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicOr(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicOr(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_8d96a0() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicOr(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index c0063f4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_8d96a0() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicOr(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicOr_8d96a0();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_8d96a0() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicOr(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicOr_8d96a0();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index cc7d3a7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index cc7d3a7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicOr_8d96a0();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_8d96a0() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedOr(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicOr_8d96a0();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.msl
deleted file mode 100644
index ba14b5b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_8d96a0(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_8d96a0(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_8d96a0(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_8d96a0(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 7bf33a1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_8d96a0 "atomicOr_8d96a0"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicOr_8d96a0 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicOr %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicOr_8d96a0
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_8d96a0 "atomicOr_8d96a0"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicOr_8d96a0 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicOr %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicOr_8d96a0
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 771feb9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicOr(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicOr(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 771feb9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicOr(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicOr(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedOr(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicOr(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index bf63494..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicOr(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicOr_5e95d4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicOr(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicOr_5e95d4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 5d36d8e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 5d36d8e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicOr_5e95d4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicOr_5e95d4() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedOr(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicOr_5e95d4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.msl
deleted file mode 100644
index a3c8826..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_5e95d4(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_5e95d4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicOr_5e95d4(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_or_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicOr_5e95d4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 887465f0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_5e95d4 "atomicOr_5e95d4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicOr_5e95d4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicOr %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicOr_5e95d4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicOr_5e95d4 "atomicOr_5e95d4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicOr_5e95d4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicOr %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicOr_5e95d4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index f4a20be..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_d09248() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index f4a20be..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_d09248() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedOr(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 06f67fe..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicOr_d09248() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicOr(arg_0, x_19);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicOr_d09248();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d61128b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicOr_d09248() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedOr(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d61128b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicOr_d09248() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedOr(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_d09248();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 5237c7b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicOr_d09248(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_fetch_or_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicOr_d09248(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 7192d1d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicOr_d09248 "atomicOr_d09248"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicOr_d09248 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicOr %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicOr_d09248
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index d9b2430..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_5e3d61() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d9b2430..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicOr_5e3d61() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedOr(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index b4f94c3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicOr_5e3d61() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicOr(arg_0, x_18);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicOr_5e3d61();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index fc0a09d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicOr_5e3d61() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedOr(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index fc0a09d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicOr_5e3d61() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedOr(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicOr_5e3d61();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index a243b2d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicOr_5e3d61(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_fetch_or_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicOr_5e3d61(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index a6c8dc7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicOr/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicOr_5e3d61 "atomicOr_5e3d61"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicOr_5e3d61 = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicOr %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicOr_5e3d61
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 1a6f1d8..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,68 +0,0 @@
-groupshared uint wg[3][2][1];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
-      uint i = (idx_1 / 2u);
-      uint i_1 = (idx_1 % 2u);
-      uint i_2 = (idx_1 % 1u);
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i][i_1][i_2], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-uint tint_div(uint lhs, uint rhs) {
-  return (lhs / ((rhs == 0u) ? 1u : rhs));
-}
-
-uint tint_mod(uint lhs, uint rhs) {
-  return (lhs % ((rhs == 0u) ? 1u : rhs));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 6u))) {
-      break;
-    }
-    uint x_31 = idx;
-    uint x_33 = idx;
-    uint x_35 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(tint_div(x_31, 2u), 2u)][min(tint_mod(x_33, 2u), 1u)][min(tint_mod(x_35, 1u), 0u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[2][1][0], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 1a6f1d8..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,68 +0,0 @@
-groupshared uint wg[3][2][1];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
-      uint i = (idx_1 / 2u);
-      uint i_1 = (idx_1 % 2u);
-      uint i_2 = (idx_1 % 1u);
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i][i_1][i_2], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-uint tint_div(uint lhs, uint rhs) {
-  return (lhs / ((rhs == 0u) ? 1u : rhs));
-}
-
-uint tint_mod(uint lhs, uint rhs) {
-  return (lhs % ((rhs == 0u) ? 1u : rhs));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 6u))) {
-      break;
-    }
-    uint x_31 = idx;
-    uint x_33 = idx;
-    uint x_35 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(tint_div(x_31, 2u), 2u)][min(tint_mod(x_33, 2u), 1u)][min(tint_mod(x_35, 1u), 0u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[2][1][0], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.glsl
deleted file mode 100644
index f761ec3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.glsl
+++ /dev/null
@@ -1,70 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint wg[3][2][1];
-uint tint_mod_u32(uint lhs, uint rhs) {
-  return (lhs - ((lhs / mix(rhs, 1u, (rhs == 0u))) * mix(rhs, 1u, (rhs == 0u))));
-}
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / mix(rhs, 1u, (rhs == 0u)));
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uvec2 tint_loop_idx = uvec2(4294967295u);
-    while(true) {
-      if (all(equal(tint_loop_idx, uvec2(0u)))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint x_31 = idx;
-      uint x_33 = idx;
-      uint x_35 = idx;
-      uint v = tint_div_u32(x_31, 2u);
-      uint v_1 = tint_mod_u32(x_33, 2u);
-      uint v_2 = min(tint_mod_u32(x_35, 1u), 0u);
-      atomicExchange(wg[min(v, 2u)][min(v_1, 1u)][v_2], 0u);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  atomicExchange(wg[2u][1u][0u], 1u);
-}
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_3 = 0u;
-    v_3 = local_invocation_index_1_param;
-    while(true) {
-      uint v_4 = v_3;
-      if ((v_4 >= 6u)) {
-        break;
-      }
-      atomicExchange(wg[(v_4 / 2u)][(v_4 % 2u)][0u], 0u);
-      {
-        v_3 = (v_4 + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 931e138..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint wg[3][2][1];
-uint tint_mod_u32(uint lhs, uint rhs) {
-  uint v = (((rhs == 0u)) ? (1u) : (rhs));
-  return (lhs - ((lhs / v) * v));
-}
-
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint x_31 = idx;
-      uint x_33 = idx;
-      uint x_35 = idx;
-      uint v_1 = tint_div_u32(x_31, 2u);
-      uint v_2 = tint_mod_u32(x_33, 2u);
-      uint v_3 = min(tint_mod_u32(x_35, 1u), 0u);
-      uint v_4 = 0u;
-      InterlockedExchange(wg[min(v_1, 2u)][min(v_2, 1u)][v_3], 0u, v_4);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_5 = 0u;
-  InterlockedExchange(wg[2u][1u][0u], 1u, v_5);
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_6 = 0u;
-    v_6 = local_invocation_index_1_param;
-    while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 6u)) {
-        break;
-      }
-      uint v_8 = 0u;
-      InterlockedExchange(wg[(v_7 / 2u)][(v_7 % 2u)][0u], 0u, v_8);
-      {
-        v_6 = (v_7 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 931e138..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint wg[3][2][1];
-uint tint_mod_u32(uint lhs, uint rhs) {
-  uint v = (((rhs == 0u)) ? (1u) : (rhs));
-  return (lhs - ((lhs / v) * v));
-}
-
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint x_31 = idx;
-      uint x_33 = idx;
-      uint x_35 = idx;
-      uint v_1 = tint_div_u32(x_31, 2u);
-      uint v_2 = tint_mod_u32(x_33, 2u);
-      uint v_3 = min(tint_mod_u32(x_35, 1u), 0u);
-      uint v_4 = 0u;
-      InterlockedExchange(wg[min(v_1, 2u)][min(v_2, 1u)][v_3], 0u, v_4);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_5 = 0u;
-  InterlockedExchange(wg[2u][1u][0u], 1u, v_5);
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_6 = 0u;
-    v_6 = local_invocation_index_1_param;
-    while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 6u)) {
-        break;
-      }
-      uint v_8 = 0u;
-      InterlockedExchange(wg[(v_7 / 2u)][(v_7 % 2u)][0u], 0u, v_8);
-      {
-        v_6 = (v_7 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.msl
deleted file mode 100644
index 8a07099..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.msl
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup tint_array<tint_array<tint_array<atomic_uint, 1>, 2>, 3>* wg;
-};
-
-struct tint_symbol_1 {
-  tint_array<tint_array<tint_array<atomic_uint, 1>, 2>, 3> tint_symbol;
-};
-
-uint tint_mod_u32(uint lhs, uint rhs) {
-  return (lhs - ((lhs / select(rhs, 1u, (rhs == 0u))) * select(rhs, 1u, (rhs == 0u))));
-}
-
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / select(rhs, 1u, (rhs == 0u)));
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = uint2(4294967295u);
-    while(true) {
-      if (all((tint_loop_idx == uint2(0u)))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint const x_31 = idx;
-      uint const x_33 = idx;
-      uint const x_35 = idx;
-      uint const v = tint_div_u32(x_31, 2u);
-      uint const v_1 = tint_mod_u32(x_33, 2u);
-      atomic_store_explicit((&(*tint_module_vars.wg)[min(v, 2u)][min(v_1, 1u)][min(tint_mod_u32(x_35, 1u), 0u)]), 0u, memory_order_relaxed);
-      {
-        uint const tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint const tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg)[2u][1u][0u]), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_57 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_57, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint const v_3 = v_2;
-      if ((v_3 >= 6u)) {
-        break;
-      }
-      atomic_store_explicit((&(*tint_module_vars.wg)[(v_3 / 2u)][(v_3 % 2u)][0u]), 0u, memory_order_relaxed);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_4 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v_4).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.spvasm
deleted file mode 100644
index 68a6411..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/aliased_arrays.spvasm.expected.spvasm
+++ /dev/null
@@ -1,193 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 121
-; Schema: 0
-               OpCapability Shader
-         %56 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %idx "idx"
-               OpName %tint_loop_idx "tint_loop_idx"
-               OpName %x_31 "x_31"
-               OpName %x_33 "x_33"
-               OpName %x_35 "x_35"
-               OpName %tint_low_inc "tint_low_inc"
-               OpName %tint_carry "tint_carry"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_57 "x_57"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %tint_div_u32 "tint_div_u32"
-               OpName %lhs "lhs"
-               OpName %rhs "rhs"
-               OpName %tint_mod_u32 "tint_mod_u32"
-               OpName %lhs_0 "lhs"
-               OpName %rhs_0 "rhs"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-     %uint_1 = OpConstant %uint 1
-%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
-     %uint_2 = OpConstant %uint 2
-%_arr__arr_uint_uint_1_uint_2 = OpTypeArray %_arr_uint_uint_1 %uint_2
-     %uint_3 = OpConstant %uint 3
-%_arr__arr__arr_uint_uint_1_uint_2_uint_3 = OpTypeArray %_arr__arr_uint_uint_1_uint_2 %uint_3
-%_ptr_Workgroup__arr__arr__arr_uint_uint_1_uint_2_uint_3 = OpTypePointer Workgroup %_arr__arr__arr_uint_uint_1_uint_2_uint_3
-         %wg = OpVariable %_ptr_Workgroup__arr__arr__arr_uint_uint_1_uint_2_uint_3 Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %18 = OpTypeFunction %void %uint
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %v2uint = OpTypeVector %uint 2
-%_ptr_Function_v2uint = OpTypePointer Function %v2uint
-%uint_4294967295 = OpConstant %uint 4294967295
-         %31 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
-         %35 = OpConstantNull %v2uint
-       %bool = OpTypeBool
-     %v2bool = OpTypeVector %bool 2
-     %uint_6 = OpConstant %uint 6
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-   %uint_264 = OpConstant %uint 264
-         %79 = OpTypeFunction %void
-        %104 = OpTypeFunction %uint %uint %uint
-%compute_main_inner = OpFunction %void None %18
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %19 = OpLabel
-        %idx = OpVariable %_ptr_Function_uint Function
-%tint_loop_idx = OpVariable %_ptr_Function_v2uint Function
-               OpStore %idx %uint_0
-               OpStore %idx %local_invocation_index_2 None
-               OpBranch %23
-         %23 = OpLabel
-               OpStore %tint_loop_idx %31
-               OpBranch %26
-         %26 = OpLabel
-               OpLoopMerge %27 %25 None
-               OpBranch %24
-         %24 = OpLabel
-         %33 = OpLoad %v2uint %tint_loop_idx None
-         %34 = OpIEqual %v2bool %33 %35
-         %38 = OpAll %bool %34
-               OpSelectionMerge %39 None
-               OpBranchConditional %38 %40 %39
-         %40 = OpLabel
-               OpBranch %27
-         %39 = OpLabel
-         %41 = OpLoad %uint %idx None
-         %42 = OpULessThan %bool %41 %uint_6
-         %44 = OpLogicalNot %bool %42
-               OpSelectionMerge %45 None
-               OpBranchConditional %44 %46 %45
-         %46 = OpLabel
-               OpBranch %27
-         %45 = OpLabel
-       %x_31 = OpLoad %uint %idx None
-       %x_33 = OpLoad %uint %idx None
-       %x_35 = OpLoad %uint %idx None
-         %50 = OpFunctionCall %uint %tint_div_u32 %x_31 %uint_2
-         %52 = OpFunctionCall %uint %tint_mod_u32 %x_33 %uint_2
-         %54 = OpFunctionCall %uint %tint_mod_u32 %x_35 %uint_1
-         %55 = OpExtInst %uint %56 UMin %50 %uint_2
-         %57 = OpExtInst %uint %56 UMin %52 %uint_1
-         %58 = OpExtInst %uint %56 UMin %54 %uint_0
-         %59 = OpAccessChain %_ptr_Workgroup_uint %wg %55 %57 %58
-               OpAtomicStore %59 %uint_2 %uint_0 %uint_0
-               OpBranch %25
-         %25 = OpLabel
-         %62 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-         %63 = OpLoad %uint %62 None
-%tint_low_inc = OpISub %uint %63 %uint_1
-         %65 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-               OpStore %65 %tint_low_inc None
-         %66 = OpIEqual %bool %tint_low_inc %uint_4294967295
- %tint_carry = OpSelect %uint %66 %uint_1 %uint_0
-         %68 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-         %69 = OpLoad %uint %68 None
-         %70 = OpISub %uint %69 %tint_carry
-         %71 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-               OpStore %71 %70 None
-         %72 = OpLoad %uint %idx None
-         %73 = OpIAdd %uint %72 %uint_1
-               OpStore %idx %73 None
-               OpBranch %26
-         %27 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %76 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_2 %uint_1 %uint_0
-               OpAtomicStore %76 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %79
-         %80 = OpLabel
-       %x_57 = OpLoad %uint %local_invocation_index_1 None
-         %82 = OpFunctionCall %void %compute_main_inner %x_57
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %18
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %85 = OpLabel
-               OpBranch %86
-         %86 = OpLabel
-               OpBranch %89
-         %89 = OpLabel
-         %91 = OpPhi %uint %local_invocation_index_1_param %86 %92 %88
-               OpLoopMerge %90 %88 None
-               OpBranch %87
-         %87 = OpLabel
-         %93 = OpUGreaterThanEqual %bool %91 %uint_6
-               OpSelectionMerge %94 None
-               OpBranchConditional %93 %95 %94
-         %95 = OpLabel
-               OpBranch %90
-         %94 = OpLabel
-         %96 = OpUMod %uint %91 %uint_2
-         %97 = OpUDiv %uint %91 %uint_2
-         %98 = OpAccessChain %_ptr_Workgroup_uint %wg %97 %96 %uint_0
-               OpAtomicStore %98 %uint_2 %uint_0 %uint_0
-               OpBranch %88
-         %88 = OpLabel
-         %92 = OpIAdd %uint %91 %uint_1
-               OpBranch %89
-         %90 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-        %101 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%tint_div_u32 = OpFunction %uint None %104
-        %lhs = OpFunctionParameter %uint
-        %rhs = OpFunctionParameter %uint
-        %105 = OpLabel
-        %106 = OpIEqual %bool %rhs %uint_0
-        %107 = OpSelect %uint %106 %uint_1 %rhs
-        %108 = OpUDiv %uint %lhs %107
-               OpReturnValue %108
-               OpFunctionEnd
-%tint_mod_u32 = OpFunction %uint None %104
-      %lhs_0 = OpFunctionParameter %uint
-      %rhs_0 = OpFunctionParameter %uint
-        %111 = OpLabel
-        %112 = OpIEqual %bool %rhs_0 %uint_0
-        %113 = OpSelect %uint %112 %uint_1 %rhs_0
-        %114 = OpUDiv %uint %lhs_0 %113
-        %115 = OpIMul %uint %114 %113
-        %116 = OpISub %uint %lhs_0 %115
-               OpReturnValue %116
-               OpFunctionEnd
-%compute_main = OpFunction %void None %79
-        %118 = OpLabel
-        %119 = OpLoad %uint %compute_main_local_invocation_index_Input None
-        %120 = OpFunctionCall %void %compute_main_inner_0 %119
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5ca1452..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-groupshared uint wg[4];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 4u); idx_1 = (idx_1 + 1u)) {
-      uint i = idx_1;
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 4u))) {
-      break;
-    }
-    uint x_26 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(x_26, 3u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[1], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_47 = local_invocation_index_1;
-  compute_main_inner(x_47);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5ca1452..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-groupshared uint wg[4];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 4u); idx_1 = (idx_1 + 1u)) {
-      uint i = idx_1;
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 4u))) {
-      break;
-    }
-    uint x_26 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(x_26, 3u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[1], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_47 = local_invocation_index_1;
-  compute_main_inner(x_47);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.glsl
deleted file mode 100644
index 722f438..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint wg[4];
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uvec2 tint_loop_idx = uvec2(4294967295u);
-    while(true) {
-      if (all(equal(tint_loop_idx, uvec2(0u)))) {
-        break;
-      }
-      if (!((idx < 4u))) {
-        break;
-      }
-      uint x_26 = idx;
-      atomicExchange(wg[min(x_26, 3u)], 0u);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  atomicExchange(wg[1u], 1u);
-}
-void compute_main_1() {
-  uint x_47 = local_invocation_index_1;
-  compute_main_inner(x_47);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v = 0u;
-    v = local_invocation_index_1_param;
-    while(true) {
-      uint v_1 = v;
-      if ((v_1 >= 4u)) {
-        break;
-      }
-      atomicExchange(wg[v_1], 0u);
-      {
-        v = (v_1 + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 6c10f32..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,69 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint wg[4];
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 4u))) {
-        break;
-      }
-      uint x_26 = idx;
-      uint v = 0u;
-      InterlockedExchange(wg[min(x_26, 3u)], 0u, v);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg[1u], 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_47 = local_invocation_index_1;
-  compute_main_inner(x_47);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 4u)) {
-        break;
-      }
-      uint v_4 = 0u;
-      InterlockedExchange(wg[v_3], 0u, v_4);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 6c10f32..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,69 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint wg[4];
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 4u))) {
-        break;
-      }
-      uint x_26 = idx;
-      uint v = 0u;
-      InterlockedExchange(wg[min(x_26, 3u)], 0u, v);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg[1u], 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_47 = local_invocation_index_1;
-  compute_main_inner(x_47);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 4u)) {
-        break;
-      }
-      uint v_4 = 0u;
-      InterlockedExchange(wg[v_3], 0u, v_4);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.msl
deleted file mode 100644
index 25fdd0f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.msl
+++ /dev/null
@@ -1,83 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup tint_array<atomic_uint, 4>* wg;
-};
-
-struct tint_symbol_1 {
-  tint_array<atomic_uint, 4> tint_symbol;
-};
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = uint2(4294967295u);
-    while(true) {
-      if (all((tint_loop_idx == uint2(0u)))) {
-        break;
-      }
-      if (!((idx < 4u))) {
-        break;
-      }
-      uint const x_26 = idx;
-      atomic_store_explicit((&(*tint_module_vars.wg)[min(x_26, 3u)]), 0u, memory_order_relaxed);
-      {
-        uint const tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint const tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg)[1u]), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_47 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_47, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  {
-    uint v = 0u;
-    v = local_invocation_index_1_param;
-    while(true) {
-      uint const v_1 = v;
-      if ((v_1 >= 4u)) {
-        break;
-      }
-      atomic_store_explicit((&(*tint_module_vars.wg)[v_1]), 0u, memory_order_relaxed);
-      {
-        v = (v_1 + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v_2).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.spvasm
deleted file mode 100644
index 050291d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/array.spvasm.expected.spvasm
+++ /dev/null
@@ -1,153 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 93
-; Schema: 0
-               OpCapability Shader
-         %44 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %idx "idx"
-               OpName %tint_loop_idx "tint_loop_idx"
-               OpName %x_26 "x_26"
-               OpName %tint_low_inc "tint_low_inc"
-               OpName %tint_carry "tint_carry"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_47 "x_47"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-     %uint_4 = OpConstant %uint 4
-%_arr_uint_uint_4 = OpTypeArray %uint %uint_4
-%_ptr_Workgroup__arr_uint_uint_4 = OpTypePointer Workgroup %_arr_uint_uint_4
-         %wg = OpVariable %_ptr_Workgroup__arr_uint_uint_4 Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %14 = OpTypeFunction %void %uint
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %v2uint = OpTypeVector %uint 2
-%_ptr_Function_v2uint = OpTypePointer Function %v2uint
-%uint_4294967295 = OpConstant %uint 4294967295
-         %27 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
-         %31 = OpConstantNull %v2uint
-       %bool = OpTypeBool
-     %v2bool = OpTypeVector %bool 2
-     %uint_3 = OpConstant %uint 3
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-     %uint_2 = OpConstant %uint 2
-     %uint_1 = OpConstant %uint 1
-   %uint_264 = OpConstant %uint 264
-         %68 = OpTypeFunction %void
-%compute_main_inner = OpFunction %void None %14
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %15 = OpLabel
-        %idx = OpVariable %_ptr_Function_uint Function
-%tint_loop_idx = OpVariable %_ptr_Function_v2uint Function
-               OpStore %idx %uint_0
-               OpStore %idx %local_invocation_index_2 None
-               OpBranch %19
-         %19 = OpLabel
-               OpStore %tint_loop_idx %27
-               OpBranch %22
-         %22 = OpLabel
-               OpLoopMerge %23 %21 None
-               OpBranch %20
-         %20 = OpLabel
-         %29 = OpLoad %v2uint %tint_loop_idx None
-         %30 = OpIEqual %v2bool %29 %31
-         %34 = OpAll %bool %30
-               OpSelectionMerge %35 None
-               OpBranchConditional %34 %36 %35
-         %36 = OpLabel
-               OpBranch %23
-         %35 = OpLabel
-         %37 = OpLoad %uint %idx None
-         %38 = OpULessThan %bool %37 %uint_4
-         %39 = OpLogicalNot %bool %38
-               OpSelectionMerge %40 None
-               OpBranchConditional %39 %41 %40
-         %41 = OpLabel
-               OpBranch %23
-         %40 = OpLabel
-       %x_26 = OpLoad %uint %idx None
-         %43 = OpExtInst %uint %44 UMin %x_26 %uint_3
-         %46 = OpAccessChain %_ptr_Workgroup_uint %wg %43
-               OpAtomicStore %46 %uint_2 %uint_0 %uint_0
-               OpBranch %21
-         %21 = OpLabel
-         %50 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-         %51 = OpLoad %uint %50 None
-%tint_low_inc = OpISub %uint %51 %uint_1
-         %54 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-               OpStore %54 %tint_low_inc None
-         %55 = OpIEqual %bool %tint_low_inc %uint_4294967295
- %tint_carry = OpSelect %uint %55 %uint_1 %uint_0
-         %57 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-         %58 = OpLoad %uint %57 None
-         %59 = OpISub %uint %58 %tint_carry
-         %60 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-               OpStore %60 %59 None
-         %61 = OpLoad %uint %idx None
-         %62 = OpIAdd %uint %61 %uint_1
-               OpStore %idx %62 None
-               OpBranch %22
-         %23 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %65 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %65 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %68
-         %69 = OpLabel
-       %x_47 = OpLoad %uint %local_invocation_index_1 None
-         %71 = OpFunctionCall %void %compute_main_inner %x_47
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %14
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %74 = OpLabel
-               OpBranch %75
-         %75 = OpLabel
-               OpBranch %78
-         %78 = OpLabel
-         %80 = OpPhi %uint %local_invocation_index_1_param %75 %81 %77
-               OpLoopMerge %79 %77 None
-               OpBranch %76
-         %76 = OpLabel
-         %82 = OpUGreaterThanEqual %bool %80 %uint_4
-               OpSelectionMerge %83 None
-               OpBranchConditional %82 %84 %83
-         %84 = OpLabel
-               OpBranch %79
-         %83 = OpLabel
-         %85 = OpAccessChain %_ptr_Workgroup_uint %wg %80
-               OpAtomicStore %85 %uint_2 %uint_0 %uint_0
-               OpBranch %77
-         %77 = OpLabel
-         %81 = OpIAdd %uint %80 %uint_1
-               OpBranch %78
-         %79 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %88 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %68
-         %90 = OpLabel
-         %91 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %92 = OpFunctionCall %void %compute_main_inner_0 %91
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 1a6f1d8..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,68 +0,0 @@
-groupshared uint wg[3][2][1];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
-      uint i = (idx_1 / 2u);
-      uint i_1 = (idx_1 % 2u);
-      uint i_2 = (idx_1 % 1u);
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i][i_1][i_2], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-uint tint_div(uint lhs, uint rhs) {
-  return (lhs / ((rhs == 0u) ? 1u : rhs));
-}
-
-uint tint_mod(uint lhs, uint rhs) {
-  return (lhs % ((rhs == 0u) ? 1u : rhs));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 6u))) {
-      break;
-    }
-    uint x_31 = idx;
-    uint x_33 = idx;
-    uint x_35 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(tint_div(x_31, 2u), 2u)][min(tint_mod(x_33, 2u), 1u)][min(tint_mod(x_35, 1u), 0u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[2][1][0], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 1a6f1d8..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,68 +0,0 @@
-groupshared uint wg[3][2][1];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
-      uint i = (idx_1 / 2u);
-      uint i_1 = (idx_1 % 2u);
-      uint i_2 = (idx_1 % 1u);
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i][i_1][i_2], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-uint tint_div(uint lhs, uint rhs) {
-  return (lhs / ((rhs == 0u) ? 1u : rhs));
-}
-
-uint tint_mod(uint lhs, uint rhs) {
-  return (lhs % ((rhs == 0u) ? 1u : rhs));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 6u))) {
-      break;
-    }
-    uint x_31 = idx;
-    uint x_33 = idx;
-    uint x_35 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(tint_div(x_31, 2u), 2u)][min(tint_mod(x_33, 2u), 1u)][min(tint_mod(x_35, 1u), 0u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[2][1][0], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.glsl
deleted file mode 100644
index f761ec3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.glsl
+++ /dev/null
@@ -1,70 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint wg[3][2][1];
-uint tint_mod_u32(uint lhs, uint rhs) {
-  return (lhs - ((lhs / mix(rhs, 1u, (rhs == 0u))) * mix(rhs, 1u, (rhs == 0u))));
-}
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / mix(rhs, 1u, (rhs == 0u)));
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uvec2 tint_loop_idx = uvec2(4294967295u);
-    while(true) {
-      if (all(equal(tint_loop_idx, uvec2(0u)))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint x_31 = idx;
-      uint x_33 = idx;
-      uint x_35 = idx;
-      uint v = tint_div_u32(x_31, 2u);
-      uint v_1 = tint_mod_u32(x_33, 2u);
-      uint v_2 = min(tint_mod_u32(x_35, 1u), 0u);
-      atomicExchange(wg[min(v, 2u)][min(v_1, 1u)][v_2], 0u);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  atomicExchange(wg[2u][1u][0u], 1u);
-}
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_3 = 0u;
-    v_3 = local_invocation_index_1_param;
-    while(true) {
-      uint v_4 = v_3;
-      if ((v_4 >= 6u)) {
-        break;
-      }
-      atomicExchange(wg[(v_4 / 2u)][(v_4 % 2u)][0u], 0u);
-      {
-        v_3 = (v_4 + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 931e138..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint wg[3][2][1];
-uint tint_mod_u32(uint lhs, uint rhs) {
-  uint v = (((rhs == 0u)) ? (1u) : (rhs));
-  return (lhs - ((lhs / v) * v));
-}
-
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint x_31 = idx;
-      uint x_33 = idx;
-      uint x_35 = idx;
-      uint v_1 = tint_div_u32(x_31, 2u);
-      uint v_2 = tint_mod_u32(x_33, 2u);
-      uint v_3 = min(tint_mod_u32(x_35, 1u), 0u);
-      uint v_4 = 0u;
-      InterlockedExchange(wg[min(v_1, 2u)][min(v_2, 1u)][v_3], 0u, v_4);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_5 = 0u;
-  InterlockedExchange(wg[2u][1u][0u], 1u, v_5);
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_6 = 0u;
-    v_6 = local_invocation_index_1_param;
-    while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 6u)) {
-        break;
-      }
-      uint v_8 = 0u;
-      InterlockedExchange(wg[(v_7 / 2u)][(v_7 % 2u)][0u], 0u, v_8);
-      {
-        v_6 = (v_7 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 931e138..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint wg[3][2][1];
-uint tint_mod_u32(uint lhs, uint rhs) {
-  uint v = (((rhs == 0u)) ? (1u) : (rhs));
-  return (lhs - ((lhs / v) * v));
-}
-
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / (((rhs == 0u)) ? (1u) : (rhs)));
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint x_31 = idx;
-      uint x_33 = idx;
-      uint x_35 = idx;
-      uint v_1 = tint_div_u32(x_31, 2u);
-      uint v_2 = tint_mod_u32(x_33, 2u);
-      uint v_3 = min(tint_mod_u32(x_35, 1u), 0u);
-      uint v_4 = 0u;
-      InterlockedExchange(wg[min(v_1, 2u)][min(v_2, 1u)][v_3], 0u, v_4);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_5 = 0u;
-  InterlockedExchange(wg[2u][1u][0u], 1u, v_5);
-}
-
-void compute_main_1() {
-  uint x_57 = local_invocation_index_1;
-  compute_main_inner(x_57);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_6 = 0u;
-    v_6 = local_invocation_index_1_param;
-    while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 6u)) {
-        break;
-      }
-      uint v_8 = 0u;
-      InterlockedExchange(wg[(v_7 / 2u)][(v_7 % 2u)][0u], 0u, v_8);
-      {
-        v_6 = (v_7 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.msl
deleted file mode 100644
index 8a07099..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.msl
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup tint_array<tint_array<tint_array<atomic_uint, 1>, 2>, 3>* wg;
-};
-
-struct tint_symbol_1 {
-  tint_array<tint_array<tint_array<atomic_uint, 1>, 2>, 3> tint_symbol;
-};
-
-uint tint_mod_u32(uint lhs, uint rhs) {
-  return (lhs - ((lhs / select(rhs, 1u, (rhs == 0u))) * select(rhs, 1u, (rhs == 0u))));
-}
-
-uint tint_div_u32(uint lhs, uint rhs) {
-  return (lhs / select(rhs, 1u, (rhs == 0u)));
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = uint2(4294967295u);
-    while(true) {
-      if (all((tint_loop_idx == uint2(0u)))) {
-        break;
-      }
-      if (!((idx < 6u))) {
-        break;
-      }
-      uint const x_31 = idx;
-      uint const x_33 = idx;
-      uint const x_35 = idx;
-      uint const v = tint_div_u32(x_31, 2u);
-      uint const v_1 = tint_mod_u32(x_33, 2u);
-      atomic_store_explicit((&(*tint_module_vars.wg)[min(v, 2u)][min(v_1, 1u)][min(tint_mod_u32(x_35, 1u), 0u)]), 0u, memory_order_relaxed);
-      {
-        uint const tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint const tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg)[2u][1u][0u]), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_57 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_57, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint const v_3 = v_2;
-      if ((v_3 >= 6u)) {
-        break;
-      }
-      atomic_store_explicit((&(*tint_module_vars.wg)[(v_3 / 2u)][(v_3 % 2u)][0u]), 0u, memory_order_relaxed);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_4 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v_4).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.spvasm
deleted file mode 100644
index 68a6411..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/array/arrays.spvasm.expected.spvasm
+++ /dev/null
@@ -1,193 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 121
-; Schema: 0
-               OpCapability Shader
-         %56 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %idx "idx"
-               OpName %tint_loop_idx "tint_loop_idx"
-               OpName %x_31 "x_31"
-               OpName %x_33 "x_33"
-               OpName %x_35 "x_35"
-               OpName %tint_low_inc "tint_low_inc"
-               OpName %tint_carry "tint_carry"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_57 "x_57"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %tint_div_u32 "tint_div_u32"
-               OpName %lhs "lhs"
-               OpName %rhs "rhs"
-               OpName %tint_mod_u32 "tint_mod_u32"
-               OpName %lhs_0 "lhs"
-               OpName %rhs_0 "rhs"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-     %uint_1 = OpConstant %uint 1
-%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
-     %uint_2 = OpConstant %uint 2
-%_arr__arr_uint_uint_1_uint_2 = OpTypeArray %_arr_uint_uint_1 %uint_2
-     %uint_3 = OpConstant %uint 3
-%_arr__arr__arr_uint_uint_1_uint_2_uint_3 = OpTypeArray %_arr__arr_uint_uint_1_uint_2 %uint_3
-%_ptr_Workgroup__arr__arr__arr_uint_uint_1_uint_2_uint_3 = OpTypePointer Workgroup %_arr__arr__arr_uint_uint_1_uint_2_uint_3
-         %wg = OpVariable %_ptr_Workgroup__arr__arr__arr_uint_uint_1_uint_2_uint_3 Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %18 = OpTypeFunction %void %uint
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %v2uint = OpTypeVector %uint 2
-%_ptr_Function_v2uint = OpTypePointer Function %v2uint
-%uint_4294967295 = OpConstant %uint 4294967295
-         %31 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
-         %35 = OpConstantNull %v2uint
-       %bool = OpTypeBool
-     %v2bool = OpTypeVector %bool 2
-     %uint_6 = OpConstant %uint 6
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-   %uint_264 = OpConstant %uint 264
-         %79 = OpTypeFunction %void
-        %104 = OpTypeFunction %uint %uint %uint
-%compute_main_inner = OpFunction %void None %18
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %19 = OpLabel
-        %idx = OpVariable %_ptr_Function_uint Function
-%tint_loop_idx = OpVariable %_ptr_Function_v2uint Function
-               OpStore %idx %uint_0
-               OpStore %idx %local_invocation_index_2 None
-               OpBranch %23
-         %23 = OpLabel
-               OpStore %tint_loop_idx %31
-               OpBranch %26
-         %26 = OpLabel
-               OpLoopMerge %27 %25 None
-               OpBranch %24
-         %24 = OpLabel
-         %33 = OpLoad %v2uint %tint_loop_idx None
-         %34 = OpIEqual %v2bool %33 %35
-         %38 = OpAll %bool %34
-               OpSelectionMerge %39 None
-               OpBranchConditional %38 %40 %39
-         %40 = OpLabel
-               OpBranch %27
-         %39 = OpLabel
-         %41 = OpLoad %uint %idx None
-         %42 = OpULessThan %bool %41 %uint_6
-         %44 = OpLogicalNot %bool %42
-               OpSelectionMerge %45 None
-               OpBranchConditional %44 %46 %45
-         %46 = OpLabel
-               OpBranch %27
-         %45 = OpLabel
-       %x_31 = OpLoad %uint %idx None
-       %x_33 = OpLoad %uint %idx None
-       %x_35 = OpLoad %uint %idx None
-         %50 = OpFunctionCall %uint %tint_div_u32 %x_31 %uint_2
-         %52 = OpFunctionCall %uint %tint_mod_u32 %x_33 %uint_2
-         %54 = OpFunctionCall %uint %tint_mod_u32 %x_35 %uint_1
-         %55 = OpExtInst %uint %56 UMin %50 %uint_2
-         %57 = OpExtInst %uint %56 UMin %52 %uint_1
-         %58 = OpExtInst %uint %56 UMin %54 %uint_0
-         %59 = OpAccessChain %_ptr_Workgroup_uint %wg %55 %57 %58
-               OpAtomicStore %59 %uint_2 %uint_0 %uint_0
-               OpBranch %25
-         %25 = OpLabel
-         %62 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-         %63 = OpLoad %uint %62 None
-%tint_low_inc = OpISub %uint %63 %uint_1
-         %65 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-               OpStore %65 %tint_low_inc None
-         %66 = OpIEqual %bool %tint_low_inc %uint_4294967295
- %tint_carry = OpSelect %uint %66 %uint_1 %uint_0
-         %68 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-         %69 = OpLoad %uint %68 None
-         %70 = OpISub %uint %69 %tint_carry
-         %71 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-               OpStore %71 %70 None
-         %72 = OpLoad %uint %idx None
-         %73 = OpIAdd %uint %72 %uint_1
-               OpStore %idx %73 None
-               OpBranch %26
-         %27 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %76 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_2 %uint_1 %uint_0
-               OpAtomicStore %76 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %79
-         %80 = OpLabel
-       %x_57 = OpLoad %uint %local_invocation_index_1 None
-         %82 = OpFunctionCall %void %compute_main_inner %x_57
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %18
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %85 = OpLabel
-               OpBranch %86
-         %86 = OpLabel
-               OpBranch %89
-         %89 = OpLabel
-         %91 = OpPhi %uint %local_invocation_index_1_param %86 %92 %88
-               OpLoopMerge %90 %88 None
-               OpBranch %87
-         %87 = OpLabel
-         %93 = OpUGreaterThanEqual %bool %91 %uint_6
-               OpSelectionMerge %94 None
-               OpBranchConditional %93 %95 %94
-         %95 = OpLabel
-               OpBranch %90
-         %94 = OpLabel
-         %96 = OpUMod %uint %91 %uint_2
-         %97 = OpUDiv %uint %91 %uint_2
-         %98 = OpAccessChain %_ptr_Workgroup_uint %wg %97 %96 %uint_0
-               OpAtomicStore %98 %uint_2 %uint_0 %uint_0
-               OpBranch %88
-         %88 = OpLabel
-         %92 = OpIAdd %uint %91 %uint_1
-               OpBranch %89
-         %90 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-        %101 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%tint_div_u32 = OpFunction %uint None %104
-        %lhs = OpFunctionParameter %uint
-        %rhs = OpFunctionParameter %uint
-        %105 = OpLabel
-        %106 = OpIEqual %bool %rhs %uint_0
-        %107 = OpSelect %uint %106 %uint_1 %rhs
-        %108 = OpUDiv %uint %lhs %107
-               OpReturnValue %108
-               OpFunctionEnd
-%tint_mod_u32 = OpFunction %uint None %104
-      %lhs_0 = OpFunctionParameter %uint
-      %rhs_0 = OpFunctionParameter %uint
-        %111 = OpLabel
-        %112 = OpIEqual %bool %rhs_0 %uint_0
-        %113 = OpSelect %uint %112 %uint_1 %rhs_0
-        %114 = OpUDiv %uint %lhs_0 %113
-        %115 = OpIMul %uint %114 %113
-        %116 = OpISub %uint %lhs_0 %115
-               OpReturnValue %116
-               OpFunctionEnd
-%compute_main = OpFunction %void None %79
-        %118 = OpLabel
-        %119 = OpLoad %uint %compute_main_local_invocation_index_Input None
-        %120 = OpFunctionCall %void %compute_main_inner_0 %119
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index f079fbf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  sb_rwatomicStore(0u, x_20);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  sb_rwatomicStore(0u, x_20);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index f079fbf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  sb_rwatomicStore(0u, x_20);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, int value) {
-  int ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_d1e9a6() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  sb_rwatomicStore(0u, x_20);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 1a816bb..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_d1e9a6() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  atomicExchange(v.inner.arg_0, x_20);
-}
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_d1e9a6() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  atomicExchange(v.inner.arg_0, x_20);
-}
-void compute_main_1() {
-  atomicStore_d1e9a6();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7cc68a4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int arg_1 = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int arg_1 = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7cc68a4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int arg_1 = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-}
-
-void fragment_main_1() {
-  atomicStore_d1e9a6();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_d1e9a6() {
-  int arg_1 = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedExchange(int(0u), x_20, v);
-}
-
-void compute_main_1() {
-  atomicStore_d1e9a6();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 6cee5cf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_d1e9a6(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_d1e9a6(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_d1e9a6(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_d1e9a6(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 5b84c71..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,122 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 27
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_d1e9a6 "atomicStore_d1e9a6"
-               OpName %arg_1 "arg_1"
-               OpName %x_20 "x_20"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicStore_d1e9a6 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-               OpAtomicStore %15 %uint_1 %uint_0 %x_20
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %atomicStore_d1e9a6
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %25 = OpLabel
-         %26 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 27
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_d1e9a6 "atomicStore_d1e9a6"
-               OpName %arg_1 "arg_1"
-               OpName %x_20 "x_20"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicStore_d1e9a6 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-               OpAtomicStore %15 %uint_1 %uint_0 %x_20
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %atomicStore_d1e9a6
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %25 = OpLabel
-         %26 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a6e6943..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  sb_rwatomicStore(0u, x_18);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  sb_rwatomicStore(0u, x_18);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a6e6943..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  sb_rwatomicStore(0u, x_18);
-  return;
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-void sb_rwatomicStore(uint offset, uint value) {
-  uint ignored;
-  sb_rw.InterlockedExchange(offset, value, ignored);
-}
-
-
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  sb_rwatomicStore(0u, x_18);
-  return;
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 7bea6ce..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  atomicExchange(v.inner.arg_0, x_18);
-}
-void fragment_main_1() {
-  atomicStore_cdc29e();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  atomicExchange(v.inner.arg_0, x_18);
-}
-void compute_main_1() {
-  atomicStore_cdc29e();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index be5b52f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index be5b52f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-}
-
-void fragment_main_1() {
-  atomicStore_cdc29e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicStore_cdc29e() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedExchange(0u, x_18, v);
-}
-
-void compute_main_1() {
-  atomicStore_cdc29e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 561db70..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_cdc29e(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_cdc29e(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicStore_cdc29e(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  atomic_store_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicStore_cdc29e(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 8684f27..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,116 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 24
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_cdc29e "atomicStore_cdc29e"
-               OpName %arg_1 "arg_1"
-               OpName %x_18 "x_18"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicStore_cdc29e = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-               OpAtomicStore %15 %uint_1 %uint_0 %x_18
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %atomicStore_cdc29e
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 24
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicStore_cdc29e "atomicStore_cdc29e"
-               OpName %arg_1 "arg_1"
-               OpName %x_18 "x_18"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicStore_cdc29e = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-               OpAtomicStore %15 %uint_1 %uint_0 %x_18
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %atomicStore_cdc29e
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 986e32e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,66 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-groupshared S_atomic wg[10];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
-      uint i = idx_1;
-      wg[i].x = 0;
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i].a, 0u, atomic_result);
-      wg[i].y = 0u;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 10u))) {
-      break;
-    }
-    uint x_28 = idx;
-    wg[min(x_28, 9u)].x = 0;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(x_28, 9u)].a, 0u, atomic_result_1);
-    wg[min(x_28, 9u)].y = 0u;
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[4].a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 986e32e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,66 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-groupshared S_atomic wg[10];
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
-      uint i = idx_1;
-      wg[i].x = 0;
-      uint atomic_result = 0u;
-      InterlockedExchange(wg[i].a, 0u, atomic_result);
-      wg[i].y = 0u;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 10u))) {
-      break;
-    }
-    uint x_28 = idx;
-    wg[min(x_28, 9u)].x = 0;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg[min(x_28, 9u)].a, 0u, atomic_result_1);
-    wg[min(x_28, 9u)].y = 0u;
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg[4].a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.glsl
deleted file mode 100644
index 7149102..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.glsl
+++ /dev/null
@@ -1,70 +0,0 @@
-#version 310 es
-
-
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-uint local_invocation_index_1 = 0u;
-shared S_atomic wg[10];
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uvec2 tint_loop_idx = uvec2(4294967295u);
-    while(true) {
-      if (all(equal(tint_loop_idx, uvec2(0u)))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint x_28 = idx;
-      wg[min(x_28, 9u)].x = 0;
-      atomicExchange(wg[min(x_28, 9u)].a, 0u);
-      wg[min(x_28, 9u)].y = 0u;
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  atomicExchange(wg[4u].a, 1u);
-}
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v = 0u;
-    v = local_invocation_index_1_param;
-    while(true) {
-      uint v_1 = v;
-      if ((v_1 >= 10u)) {
-        break;
-      }
-      wg[v_1].x = 0;
-      atomicExchange(wg[v_1].a, 0u);
-      wg[v_1].y = 0u;
-      {
-        v = (v_1 + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 79cc8f3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,79 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg[10];
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint x_28 = idx;
-      wg[min(x_28, 9u)].x = int(0);
-      uint v = 0u;
-      InterlockedExchange(wg[min(x_28, 9u)].a, 0u, v);
-      wg[min(x_28, 9u)].y = 0u;
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg[4u].a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 10u)) {
-        break;
-      }
-      wg[v_3].x = int(0);
-      uint v_4 = 0u;
-      InterlockedExchange(wg[v_3].a, 0u, v_4);
-      wg[v_3].y = 0u;
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 79cc8f3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,79 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg[10];
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint x_28 = idx;
-      wg[min(x_28, 9u)].x = int(0);
-      uint v = 0u;
-      InterlockedExchange(wg[min(x_28, 9u)].a, 0u, v);
-      wg[min(x_28, 9u)].y = 0u;
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg[4u].a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 10u)) {
-        break;
-      }
-      wg[v_3].x = int(0);
-      uint v_4 = 0u;
-      InterlockedExchange(wg[v_3].a, 0u, v_4);
-      wg[v_3].y = 0u;
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.msl
deleted file mode 100644
index 7ae7a1a..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.msl
+++ /dev/null
@@ -1,93 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct S_atomic {
-  int x;
-  atomic_uint a;
-  uint y;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup tint_array<S_atomic, 10>* wg;
-};
-
-struct tint_symbol_1 {
-  tint_array<S_atomic, 10> tint_symbol;
-};
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  uint idx = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = uint2(4294967295u);
-    while(true) {
-      if (all((tint_loop_idx == uint2(0u)))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint const x_28 = idx;
-      (*tint_module_vars.wg)[min(x_28, 9u)].x = 0;
-      atomic_store_explicit((&(*tint_module_vars.wg)[min(x_28, 9u)].a), 0u, memory_order_relaxed);
-      (*tint_module_vars.wg)[min(x_28, 9u)].y = 0u;
-      {
-        uint const tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint const tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg)[4u].a), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_53 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_53, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  {
-    uint v = 0u;
-    v = local_invocation_index_1_param;
-    while(true) {
-      uint const v_1 = v;
-      if ((v_1 >= 10u)) {
-        break;
-      }
-      (*tint_module_vars.wg)[v_1].x = 0;
-      atomic_store_explicit((&(*tint_module_vars.wg)[v_1].a), 0u, memory_order_relaxed);
-      (*tint_module_vars.wg)[v_1].y = 0u;
-      {
-        v = (v_1 + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v_2).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.spvasm
deleted file mode 100644
index 5b5fef2..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/array_of_struct.spvasm.expected.spvasm
+++ /dev/null
@@ -1,173 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 105
-; Schema: 0
-               OpCapability Shader
-         %46 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpMemberName %S_atomic 0 "x"
-               OpMemberName %S_atomic 1 "a"
-               OpMemberName %S_atomic 2 "y"
-               OpName %S_atomic "S_atomic"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %idx "idx"
-               OpName %tint_loop_idx "tint_loop_idx"
-               OpName %x_28 "x_28"
-               OpName %tint_low_inc "tint_low_inc"
-               OpName %tint_carry "tint_carry"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_53 "x_53"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-   %S_atomic = OpTypeStruct %int %uint %uint
-    %uint_10 = OpConstant %uint 10
-%_arr_S_atomic_uint_10 = OpTypeArray %S_atomic %uint_10
-%_ptr_Workgroup__arr_S_atomic_uint_10 = OpTypePointer Workgroup %_arr_S_atomic_uint_10
-         %wg = OpVariable %_ptr_Workgroup__arr_S_atomic_uint_10 Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %16 = OpTypeFunction %void %uint
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %v2uint = OpTypeVector %uint 2
-%_ptr_Function_v2uint = OpTypePointer Function %v2uint
-%uint_4294967295 = OpConstant %uint 4294967295
-         %29 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
-         %33 = OpConstantNull %v2uint
-       %bool = OpTypeBool
-     %v2bool = OpTypeVector %bool 2
-     %uint_9 = OpConstant %uint 9
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %int_0 = OpConstant %int 0
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-%_ptr_Workgroup_uint_0 = OpTypePointer Workgroup %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_4 = OpConstant %uint 4
-         %78 = OpTypeFunction %void
-%compute_main_inner = OpFunction %void None %16
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %17 = OpLabel
-        %idx = OpVariable %_ptr_Function_uint Function
-%tint_loop_idx = OpVariable %_ptr_Function_v2uint Function
-               OpStore %idx %uint_0
-               OpStore %idx %local_invocation_index_2 None
-               OpBranch %21
-         %21 = OpLabel
-               OpStore %tint_loop_idx %29
-               OpBranch %24
-         %24 = OpLabel
-               OpLoopMerge %25 %23 None
-               OpBranch %22
-         %22 = OpLabel
-         %31 = OpLoad %v2uint %tint_loop_idx None
-         %32 = OpIEqual %v2bool %31 %33
-         %36 = OpAll %bool %32
-               OpSelectionMerge %37 None
-               OpBranchConditional %36 %38 %37
-         %38 = OpLabel
-               OpBranch %25
-         %37 = OpLabel
-         %39 = OpLoad %uint %idx None
-         %40 = OpULessThan %bool %39 %uint_10
-         %41 = OpLogicalNot %bool %40
-               OpSelectionMerge %42 None
-               OpBranchConditional %41 %43 %42
-         %43 = OpLabel
-               OpBranch %25
-         %42 = OpLabel
-       %x_28 = OpLoad %uint %idx None
-         %45 = OpExtInst %uint %46 UMin %x_28 %uint_9
-         %48 = OpAccessChain %_ptr_Workgroup_int %wg %45 %uint_0
-               OpStore %48 %int_0 None
-         %51 = OpExtInst %uint %46 UMin %x_28 %uint_9
-         %52 = OpAccessChain %_ptr_Workgroup_uint %wg %51 %uint_1
-               OpAtomicStore %52 %uint_2 %uint_0 %uint_0
-         %57 = OpExtInst %uint %46 UMin %x_28 %uint_9
-         %58 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %57 %uint_2
-               OpStore %58 %uint_0 None
-               OpBranch %23
-         %23 = OpLabel
-         %60 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-         %61 = OpLoad %uint %60 None
-%tint_low_inc = OpISub %uint %61 %uint_1
-         %63 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-               OpStore %63 %tint_low_inc None
-         %64 = OpIEqual %bool %tint_low_inc %uint_4294967295
- %tint_carry = OpSelect %uint %64 %uint_1 %uint_0
-         %66 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-         %67 = OpLoad %uint %66 None
-         %68 = OpISub %uint %67 %tint_carry
-         %69 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-               OpStore %69 %68 None
-         %70 = OpLoad %uint %idx None
-         %71 = OpIAdd %uint %70 %uint_1
-               OpStore %idx %71 None
-               OpBranch %24
-         %25 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %74 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_4 %uint_1
-               OpAtomicStore %74 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %78
-         %79 = OpLabel
-       %x_53 = OpLoad %uint %local_invocation_index_1 None
-         %81 = OpFunctionCall %void %compute_main_inner %x_53
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %16
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %84 = OpLabel
-               OpBranch %85
-         %85 = OpLabel
-               OpBranch %88
-         %88 = OpLabel
-         %90 = OpPhi %uint %local_invocation_index_1_param %85 %91 %87
-               OpLoopMerge %89 %87 None
-               OpBranch %86
-         %86 = OpLabel
-         %92 = OpUGreaterThanEqual %bool %90 %uint_10
-               OpSelectionMerge %93 None
-               OpBranchConditional %92 %94 %93
-         %94 = OpLabel
-               OpBranch %89
-         %93 = OpLabel
-         %95 = OpAccessChain %_ptr_Workgroup_int %wg %90 %uint_0
-               OpStore %95 %int_0 None
-         %96 = OpAccessChain %_ptr_Workgroup_uint %wg %90 %uint_1
-               OpAtomicStore %96 %uint_2 %uint_0 %uint_0
-         %98 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %90 %uint_2
-               OpStore %98 %uint_0 None
-               OpBranch %87
-         %87 = OpLabel
-         %91 = OpIAdd %uint %90 %uint_1
-               OpBranch %88
-         %89 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-        %100 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %78
-        %102 = OpLabel
-        %103 = OpLoad %uint %compute_main_local_invocation_index_Input None
-        %104 = OpFunctionCall %void %compute_main_inner_0 %103
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.dxc.hlsl
deleted file mode 100644
index bf8e778..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint b;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a, 0u, atomic_result);
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg.b, 0u, atomic_result_1);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a, 0u, atomic_result_2);
-  uint atomic_result_3 = 0u;
-  InterlockedExchange(wg.b, 0u, atomic_result_3);
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_4 = 0u;
-  InterlockedExchange(wg.a, 1u, atomic_result_4);
-  uint atomic_result_5 = 0u;
-  InterlockedExchange(wg.b, 2u, atomic_result_5);
-  return;
-}
-
-void compute_main_1() {
-  uint x_39 = local_invocation_index_1;
-  compute_main_inner(x_39);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.fxc.hlsl
deleted file mode 100644
index bf8e778..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,56 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint b;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a, 0u, atomic_result);
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg.b, 0u, atomic_result_1);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a, 0u, atomic_result_2);
-  uint atomic_result_3 = 0u;
-  InterlockedExchange(wg.b, 0u, atomic_result_3);
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_4 = 0u;
-  InterlockedExchange(wg.a, 1u, atomic_result_4);
-  uint atomic_result_5 = 0u;
-  InterlockedExchange(wg.b, 2u, atomic_result_5);
-  return;
-}
-
-void compute_main_1() {
-  uint x_39 = local_invocation_index_1;
-  compute_main_inner(x_39);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.glsl
deleted file mode 100644
index 0f12dbf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.glsl
+++ /dev/null
@@ -1,37 +0,0 @@
-#version 310 es
-
-
-struct S_atomic {
-  int x;
-  uint a;
-  uint b;
-};
-
-uint local_invocation_index_1 = 0u;
-shared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  atomicExchange(wg.a, 0u);
-  atomicExchange(wg.b, 0u);
-  barrier();
-  atomicExchange(wg.a, 1u);
-  atomicExchange(wg.b, 2u);
-}
-void compute_main_1() {
-  uint x_39 = local_invocation_index_1;
-  compute_main_inner(x_39);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = 0;
-    atomicExchange(wg.a, 0u);
-    atomicExchange(wg.b, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 2a237b5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint b;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a, 0u, v);
-  uint v_1 = 0u;
-  InterlockedExchange(wg.b, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  uint v_2 = 0u;
-  InterlockedExchange(wg.a, 1u, v_2);
-  uint v_3 = 0u;
-  InterlockedExchange(wg.b, 2u, v_3);
-}
-
-void compute_main_1() {
-  uint x_39 = local_invocation_index_1;
-  compute_main_inner(x_39);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    uint v_4 = 0u;
-    InterlockedExchange(wg.a, 0u, v_4);
-    uint v_5 = 0u;
-    InterlockedExchange(wg.b, 0u, v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 2a237b5..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint b;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a, 0u, v);
-  uint v_1 = 0u;
-  InterlockedExchange(wg.b, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  uint v_2 = 0u;
-  InterlockedExchange(wg.a, 1u, v_2);
-  uint v_3 = 0u;
-  InterlockedExchange(wg.b, 2u, v_3);
-}
-
-void compute_main_1() {
-  uint x_39 = local_invocation_index_1;
-  compute_main_inner(x_39);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    uint v_4 = 0u;
-    InterlockedExchange(wg.a, 0u, v_4);
-    uint v_5 = 0u;
-    InterlockedExchange(wg.b, 0u, v_5);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.msl
deleted file mode 100644
index 082bbfe..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.msl
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S_atomic {
-  int x;
-  atomic_uint a;
-  atomic_uint b;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup S_atomic* wg;
-};
-
-struct tint_symbol_1 {
-  S_atomic tint_symbol;
-};
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.wg).x = 0;
-  atomic_store_explicit((&(*tint_module_vars.wg).a), 0u, memory_order_relaxed);
-  atomic_store_explicit((&(*tint_module_vars.wg).b), 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg).a), 1u, memory_order_relaxed);
-  atomic_store_explicit((&(*tint_module_vars.wg).b), 2u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_39 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_39, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    (*tint_module_vars.wg).x = 0;
-    atomic_store_explicit((&(*tint_module_vars.wg).a), 0u, memory_order_relaxed);
-    atomic_store_explicit((&(*tint_module_vars.wg).b), 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.spvasm
deleted file mode 100644
index c426e4e..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_multiple_atomics.spvasm.expected.spvasm
+++ /dev/null
@@ -1,93 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 56
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpMemberName %S_atomic 0 "x"
-               OpMemberName %S_atomic 1 "a"
-               OpMemberName %S_atomic 2 "b"
-               OpName %S_atomic "S_atomic"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_39 "x_39"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-   %S_atomic = OpTypeStruct %int %uint %uint
-%_ptr_Workgroup_S_atomic = OpTypePointer Workgroup %S_atomic
-         %wg = OpVariable %_ptr_Workgroup_S_atomic Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %14 = OpTypeFunction %void %uint
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-     %uint_0 = OpConstant %uint 0
-      %int_0 = OpConstant %int 0
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-   %uint_264 = OpConstant %uint 264
-         %34 = OpTypeFunction %void
-       %bool = OpTypeBool
-%compute_main_inner = OpFunction %void None %14
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %15 = OpLabel
-         %16 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %16 %int_0 None
-         %20 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %20 %uint_2 %uint_0 %uint_0
-         %25 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_2
-               OpAtomicStore %25 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %29 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %29 %uint_2 %uint_0 %uint_1
-         %31 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_2
-               OpAtomicStore %31 %uint_2 %uint_0 %uint_2
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %34
-         %35 = OpLabel
-       %x_39 = OpLoad %uint %local_invocation_index_1 None
-         %37 = OpFunctionCall %void %compute_main_inner %x_39
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %14
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %40 = OpLabel
-         %41 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %43 None
-               OpBranchConditional %41 %44 %43
-         %44 = OpLabel
-         %45 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %45 %int_0 None
-         %46 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %46 %uint_2 %uint_0 %uint_0
-         %48 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_2
-               OpAtomicStore %48 %uint_2 %uint_0 %uint_0
-               OpBranch %43
-         %43 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %51 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %34
-         %53 = OpLabel
-         %54 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %55 = OpFunctionCall %void %compute_main_inner_0 %54
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8b9f8bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a, 0u, atomic_result);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(wg.a, 0u, atomic_result_1);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8b9f8bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a, 0u, atomic_result);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(wg.a, 0u, atomic_result_1);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.glsl
deleted file mode 100644
index 144f1ab..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.glsl
+++ /dev/null
@@ -1,36 +0,0 @@
-#version 310 es
-
-
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-uint local_invocation_index_1 = 0u;
-shared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  atomicExchange(wg.a, 0u);
-  wg.y = 0u;
-  barrier();
-  atomicExchange(wg.a, 1u);
-}
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = 0;
-    atomicExchange(wg.a, 0u);
-    wg.y = 0u;
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 06d87e7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a, 0u, v);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    uint v_2 = 0u;
-    InterlockedExchange(wg.a, 0u, v_2);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 06d87e7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a, 0u, v);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    uint v_2 = 0u;
-    InterlockedExchange(wg.a, 0u, v_2);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.msl
deleted file mode 100644
index 9043c01..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.msl
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S_atomic {
-  int x;
-  atomic_uint a;
-  uint y;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup S_atomic* wg;
-};
-
-struct tint_symbol_1 {
-  S_atomic tint_symbol;
-};
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.wg).x = 0;
-  atomic_store_explicit((&(*tint_module_vars.wg).a), 0u, memory_order_relaxed);
-  (*tint_module_vars.wg).y = 0u;
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg).a), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_35 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_35, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    (*tint_module_vars.wg).x = 0;
-    atomic_store_explicit((&(*tint_module_vars.wg).a), 0u, memory_order_relaxed);
-    (*tint_module_vars.wg).y = 0u;
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.spvasm
deleted file mode 100644
index b119eaf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/flat_single_atomic.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 53
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpMemberName %S_atomic 0 "x"
-               OpMemberName %S_atomic 1 "a"
-               OpMemberName %S_atomic 2 "y"
-               OpName %S_atomic "S_atomic"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_35 "x_35"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-   %S_atomic = OpTypeStruct %int %uint %uint
-%_ptr_Workgroup_S_atomic = OpTypePointer Workgroup %S_atomic
-         %wg = OpVariable %_ptr_Workgroup_S_atomic Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %14 = OpTypeFunction %void %uint
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-     %uint_0 = OpConstant %uint 0
-      %int_0 = OpConstant %int 0
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-%_ptr_Workgroup_uint_0 = OpTypePointer Workgroup %uint
-   %uint_264 = OpConstant %uint 264
-         %32 = OpTypeFunction %void
-       %bool = OpTypeBool
-%compute_main_inner = OpFunction %void None %14
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %15 = OpLabel
-         %16 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %16 %int_0 None
-         %20 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %20 %uint_2 %uint_0 %uint_0
-         %25 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %uint_2
-               OpStore %25 %uint_0 None
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %29 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %29 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %32
-         %33 = OpLabel
-       %x_35 = OpLoad %uint %local_invocation_index_1 None
-         %35 = OpFunctionCall %void %compute_main_inner %x_35
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %14
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %38 = OpLabel
-         %39 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %39 %42 %41
-         %42 = OpLabel
-         %43 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %43 %int_0 None
-         %44 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %44 %uint_2 %uint_0 %uint_0
-         %46 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %uint_2
-               OpStore %46 %uint_0 None
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %48 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %32
-         %50 = OpLabel
-         %51 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %52 = OpFunctionCall %void %compute_main_inner_0 %51
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 04c960d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,79 +0,0 @@
-struct S0_atomic {
-  int x;
-  uint a;
-  int y;
-  int z;
-};
-struct S1_atomic {
-  int x;
-  S0_atomic a;
-  int y;
-  int z;
-};
-struct S2_atomic {
-  int x;
-  int y;
-  int z;
-  S1_atomic a;
-};
-
-groupshared S2_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    wg.y = 0;
-    wg.z = 0;
-    wg.a.x = 0;
-    wg.a.a.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a.a.a, 0u, atomic_result);
-    wg.a.a.y = 0;
-    wg.a.a.z = 0;
-    wg.a.y = 0;
-    wg.a.z = 0;
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  wg.y = 0;
-  wg.z = 0;
-  wg.a.x = 0;
-  wg.a.a.x = 0;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(wg.a.a.a, 0u, atomic_result_1);
-  wg.a.a.y = 0;
-  wg.a.a.z = 0;
-  wg.a.y = 0;
-  wg.a.z = 0;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a.a.a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_44 = local_invocation_index_1;
-  compute_main_inner(x_44);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 04c960d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,79 +0,0 @@
-struct S0_atomic {
-  int x;
-  uint a;
-  int y;
-  int z;
-};
-struct S1_atomic {
-  int x;
-  S0_atomic a;
-  int y;
-  int z;
-};
-struct S2_atomic {
-  int x;
-  int y;
-  int z;
-  S1_atomic a;
-};
-
-groupshared S2_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    wg.y = 0;
-    wg.z = 0;
-    wg.a.x = 0;
-    wg.a.a.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a.a.a, 0u, atomic_result);
-    wg.a.a.y = 0;
-    wg.a.a.z = 0;
-    wg.a.y = 0;
-    wg.a.z = 0;
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  wg.y = 0;
-  wg.z = 0;
-  wg.a.x = 0;
-  wg.a.a.x = 0;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(wg.a.a.a, 0u, atomic_result_1);
-  wg.a.a.y = 0;
-  wg.a.a.z = 0;
-  wg.a.y = 0;
-  wg.a.z = 0;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a.a.a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_44 = local_invocation_index_1;
-  compute_main_inner(x_44);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.glsl
deleted file mode 100644
index e9fc937..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.glsl
+++ /dev/null
@@ -1,65 +0,0 @@
-#version 310 es
-
-
-struct S0_atomic {
-  int x;
-  uint a;
-  int y;
-  int z;
-};
-
-struct S1_atomic {
-  int x;
-  S0_atomic a;
-  int y;
-  int z;
-};
-
-struct S2_atomic {
-  int x;
-  int y;
-  int z;
-  S1_atomic a;
-};
-
-uint local_invocation_index_1 = 0u;
-shared S2_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  wg.y = 0;
-  wg.z = 0;
-  wg.a.x = 0;
-  wg.a.a.x = 0;
-  atomicExchange(wg.a.a.a, 0u);
-  wg.a.a.y = 0;
-  wg.a.a.z = 0;
-  wg.a.y = 0;
-  wg.a.z = 0;
-  barrier();
-  atomicExchange(wg.a.a.a, 1u);
-}
-void compute_main_1() {
-  uint x_44 = local_invocation_index_1;
-  compute_main_inner(x_44);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = 0;
-    wg.y = 0;
-    wg.z = 0;
-    wg.a.x = 0;
-    wg.a.a.x = 0;
-    atomicExchange(wg.a.a.a, 0u);
-    wg.a.a.y = 0;
-    wg.a.a.z = 0;
-    wg.a.y = 0;
-    wg.a.z = 0;
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 8c4e310..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,74 +0,0 @@
-struct S0_atomic {
-  int x;
-  uint a;
-  int y;
-  int z;
-};
-
-struct S1_atomic {
-  int x;
-  S0_atomic a;
-  int y;
-  int z;
-};
-
-struct S2_atomic {
-  int x;
-  int y;
-  int z;
-  S1_atomic a;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S2_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  wg.y = int(0);
-  wg.z = int(0);
-  wg.a.x = int(0);
-  wg.a.a.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a.a.a, 0u, v);
-  wg.a.a.y = int(0);
-  wg.a.a.z = int(0);
-  wg.a.y = int(0);
-  wg.a.z = int(0);
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a.a.a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_44 = local_invocation_index_1;
-  compute_main_inner(x_44);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    wg.y = int(0);
-    wg.z = int(0);
-    wg.a.x = int(0);
-    wg.a.a.x = int(0);
-    uint v_2 = 0u;
-    InterlockedExchange(wg.a.a.a, 0u, v_2);
-    wg.a.a.y = int(0);
-    wg.a.a.z = int(0);
-    wg.a.y = int(0);
-    wg.a.z = int(0);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 8c4e310..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,74 +0,0 @@
-struct S0_atomic {
-  int x;
-  uint a;
-  int y;
-  int z;
-};
-
-struct S1_atomic {
-  int x;
-  S0_atomic a;
-  int y;
-  int z;
-};
-
-struct S2_atomic {
-  int x;
-  int y;
-  int z;
-  S1_atomic a;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S2_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  wg.y = int(0);
-  wg.z = int(0);
-  wg.a.x = int(0);
-  wg.a.a.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a.a.a, 0u, v);
-  wg.a.a.y = int(0);
-  wg.a.a.z = int(0);
-  wg.a.y = int(0);
-  wg.a.z = int(0);
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a.a.a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_44 = local_invocation_index_1;
-  compute_main_inner(x_44);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    wg.y = int(0);
-    wg.z = int(0);
-    wg.a.x = int(0);
-    wg.a.a.x = int(0);
-    uint v_2 = 0u;
-    InterlockedExchange(wg.a.a.a, 0u, v_2);
-    wg.a.a.y = int(0);
-    wg.a.a.z = int(0);
-    wg.a.y = int(0);
-    wg.a.z = int(0);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.msl
deleted file mode 100644
index efe2feb..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.msl
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S0_atomic {
-  int x;
-  atomic_uint a;
-  int y;
-  int z;
-};
-
-struct S1_atomic {
-  int x;
-  S0_atomic a;
-  int y;
-  int z;
-};
-
-struct S2_atomic {
-  int x;
-  int y;
-  int z;
-  S1_atomic a;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup S2_atomic* wg;
-};
-
-struct tint_symbol_1 {
-  S2_atomic tint_symbol;
-};
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.wg).x = 0;
-  (*tint_module_vars.wg).y = 0;
-  (*tint_module_vars.wg).z = 0;
-  (*tint_module_vars.wg).a.x = 0;
-  (*tint_module_vars.wg).a.a.x = 0;
-  atomic_store_explicit((&(*tint_module_vars.wg).a.a.a), 0u, memory_order_relaxed);
-  (*tint_module_vars.wg).a.a.y = 0;
-  (*tint_module_vars.wg).a.a.z = 0;
-  (*tint_module_vars.wg).a.y = 0;
-  (*tint_module_vars.wg).a.z = 0;
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg).a.a.a), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_44 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_44, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    (*tint_module_vars.wg).x = 0;
-    (*tint_module_vars.wg).y = 0;
-    (*tint_module_vars.wg).z = 0;
-    (*tint_module_vars.wg).a.x = 0;
-    (*tint_module_vars.wg).a.a.x = 0;
-    atomic_store_explicit((&(*tint_module_vars.wg).a.a.a), 0u, memory_order_relaxed);
-    (*tint_module_vars.wg).a.a.y = 0;
-    (*tint_module_vars.wg).a.a.z = 0;
-    (*tint_module_vars.wg).a.y = 0;
-    (*tint_module_vars.wg).a.z = 0;
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.spvasm
deleted file mode 100644
index 41517d1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/nested.spvasm.expected.spvasm
+++ /dev/null
@@ -1,133 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 69
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpMemberName %S2_atomic 0 "x"
-               OpMemberName %S2_atomic 1 "y"
-               OpMemberName %S2_atomic 2 "z"
-               OpMemberName %S1_atomic 0 "x"
-               OpMemberName %S0_atomic 0 "x"
-               OpMemberName %S0_atomic 1 "a"
-               OpMemberName %S0_atomic 2 "y"
-               OpMemberName %S0_atomic 3 "z"
-               OpName %S0_atomic "S0_atomic"
-               OpMemberName %S1_atomic 1 "a"
-               OpMemberName %S1_atomic 2 "y"
-               OpMemberName %S1_atomic 3 "z"
-               OpName %S1_atomic "S1_atomic"
-               OpMemberName %S2_atomic 3 "a"
-               OpName %S2_atomic "S2_atomic"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_44 "x_44"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-  %S0_atomic = OpTypeStruct %int %uint %int %int
-  %S1_atomic = OpTypeStruct %int %S0_atomic %int %int
-  %S2_atomic = OpTypeStruct %int %int %int %S1_atomic
-%_ptr_Workgroup_S2_atomic = OpTypePointer Workgroup %S2_atomic
-         %wg = OpVariable %_ptr_Workgroup_S2_atomic Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %16 = OpTypeFunction %void %uint
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-     %uint_0 = OpConstant %uint 0
-      %int_0 = OpConstant %int 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-     %uint_3 = OpConstant %uint 3
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-   %uint_264 = OpConstant %uint 264
-         %41 = OpTypeFunction %void
-       %bool = OpTypeBool
-%compute_main_inner = OpFunction %void None %16
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %17 = OpLabel
-         %18 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %18 %int_0 None
-         %22 = OpAccessChain %_ptr_Workgroup_int %wg %uint_1
-               OpStore %22 %int_0 None
-         %24 = OpAccessChain %_ptr_Workgroup_int %wg %uint_2
-               OpStore %24 %int_0 None
-         %26 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_0
-               OpStore %26 %int_0 None
-         %28 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_1 %uint_0
-               OpStore %28 %int_0 None
-         %29 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_3 %uint_1 %uint_1
-               OpAtomicStore %29 %uint_2 %uint_0 %uint_0
-         %32 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_1 %uint_2
-               OpStore %32 %int_0 None
-         %33 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_1 %uint_3
-               OpStore %33 %int_0 None
-         %34 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_2
-               OpStore %34 %int_0 None
-         %35 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_3
-               OpStore %35 %int_0 None
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %38 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_3 %uint_1 %uint_1
-               OpAtomicStore %38 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %41
-         %42 = OpLabel
-       %x_44 = OpLoad %uint %local_invocation_index_1 None
-         %44 = OpFunctionCall %void %compute_main_inner %x_44
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %16
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %47 = OpLabel
-         %48 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %50 None
-               OpBranchConditional %48 %51 %50
-         %51 = OpLabel
-         %52 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %52 %int_0 None
-         %53 = OpAccessChain %_ptr_Workgroup_int %wg %uint_1
-               OpStore %53 %int_0 None
-         %54 = OpAccessChain %_ptr_Workgroup_int %wg %uint_2
-               OpStore %54 %int_0 None
-         %55 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_0
-               OpStore %55 %int_0 None
-         %56 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_1 %uint_0
-               OpStore %56 %int_0 None
-         %57 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_3 %uint_1 %uint_1
-               OpAtomicStore %57 %uint_2 %uint_0 %uint_0
-         %59 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_1 %uint_2
-               OpStore %59 %int_0 None
-         %60 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_1 %uint_3
-               OpStore %60 %int_0 None
-         %61 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_2
-               OpStore %61 %int_0 None
-         %62 = OpAccessChain %_ptr_Workgroup_int %wg %uint_3 %uint_3
-               OpStore %62 %int_0 None
-               OpBranch %50
-         %50 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %64 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %41
-         %66 = OpLabel
-         %67 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %68 = OpFunctionCall %void %compute_main_inner_0 %67
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 82af5f6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,68 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a[10];
-  uint y;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    wg.y = 0u;
-  }
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
-      uint i = idx_1;
-      uint atomic_result = 0u;
-      InterlockedExchange(wg.a[i], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  wg.x = 0;
-  wg.y = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 10u))) {
-      break;
-    }
-    uint x_35 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg.a[min(x_35, 9u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a[4], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 82af5f6..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,68 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a[10];
-  uint y;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    wg.y = 0u;
-  }
-  {
-    for(uint idx_1 = local_idx; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
-      uint i = idx_1;
-      uint atomic_result = 0u;
-      InterlockedExchange(wg.a[i], 0u, atomic_result);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  wg.x = 0;
-  wg.y = 0u;
-  idx = local_invocation_index_2;
-  while (true) {
-    if (!((idx < 10u))) {
-      break;
-    }
-    uint x_35 = idx;
-    uint atomic_result_1 = 0u;
-    InterlockedExchange(wg.a[min(x_35, 9u)], 0u, atomic_result_1);
-    {
-      idx = (idx + 1u);
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a[4], 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.glsl
deleted file mode 100644
index 70f1684..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.glsl
+++ /dev/null
@@ -1,72 +0,0 @@
-#version 310 es
-
-
-struct S_atomic {
-  int x;
-  uint a[10];
-  uint y;
-};
-
-uint local_invocation_index_1 = 0u;
-shared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  wg.x = 0;
-  wg.y = 0u;
-  idx = local_invocation_index_2;
-  {
-    uvec2 tint_loop_idx = uvec2(4294967295u);
-    while(true) {
-      if (all(equal(tint_loop_idx, uvec2(0u)))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint x_35 = idx;
-      atomicExchange(wg.a[min(x_35, 9u)], 0u);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  atomicExchange(wg.a[4u], 1u);
-}
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = 0;
-    wg.y = 0u;
-  }
-  {
-    uint v = 0u;
-    v = local_invocation_index_1_param;
-    while(true) {
-      uint v_1 = v;
-      if ((v_1 >= 10u)) {
-        break;
-      }
-      atomicExchange(wg.a[v_1], 0u);
-      {
-        v = (v_1 + 1u);
-      }
-      continue;
-    }
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 5453c48..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,81 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a[10];
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  wg.x = int(0);
-  wg.y = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint x_35 = idx;
-      uint v = 0u;
-      InterlockedExchange(wg.a[min(x_35, 9u)], 0u, v);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a[4u], 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    wg.y = 0u;
-  }
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 10u)) {
-        break;
-      }
-      uint v_4 = 0u;
-      InterlockedExchange(wg.a[v_3], 0u, v_4);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 5453c48..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,81 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a[10];
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  uint idx = 0u;
-  wg.x = int(0);
-  wg.y = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = (4294967295u).xx;
-    while(true) {
-      if (all((tint_loop_idx == (0u).xx))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint x_35 = idx;
-      uint v = 0u;
-      InterlockedExchange(wg.a[min(x_35, 9u)], 0u, v);
-      {
-        uint tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a[4u], 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_53 = local_invocation_index_1;
-  compute_main_inner(x_53);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    wg.y = 0u;
-  }
-  {
-    uint v_2 = 0u;
-    v_2 = local_invocation_index_1_param;
-    while(true) {
-      uint v_3 = v_2;
-      if ((v_3 >= 10u)) {
-        break;
-      }
-      uint v_4 = 0u;
-      InterlockedExchange(wg.a[v_3], 0u, v_4);
-      {
-        v_2 = (v_3 + 1u);
-      }
-      continue;
-    }
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.msl
deleted file mode 100644
index 6ab7626..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.msl
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
-  const constant T& operator[](size_t i) const constant { return elements[i]; }
-  device T& operator[](size_t i) device { return elements[i]; }
-  const device T& operator[](size_t i) const device { return elements[i]; }
-  thread T& operator[](size_t i) thread { return elements[i]; }
-  const thread T& operator[](size_t i) const thread { return elements[i]; }
-  threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
-  const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
-  T elements[N];
-};
-
-struct S_atomic {
-  int x;
-  tint_array<atomic_uint, 10> a;
-  uint y;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup S_atomic* wg;
-};
-
-struct tint_symbol_1 {
-  S_atomic tint_symbol;
-};
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  uint idx = 0u;
-  (*tint_module_vars.wg).x = 0;
-  (*tint_module_vars.wg).y = 0u;
-  idx = local_invocation_index_2;
-  {
-    uint2 tint_loop_idx = uint2(4294967295u);
-    while(true) {
-      if (all((tint_loop_idx == uint2(0u)))) {
-        break;
-      }
-      if (!((idx < 10u))) {
-        break;
-      }
-      uint const x_35 = idx;
-      atomic_store_explicit((&(*tint_module_vars.wg).a[min(x_35, 9u)]), 0u, memory_order_relaxed);
-      {
-        uint const tint_low_inc = (tint_loop_idx.x - 1u);
-        tint_loop_idx.x = tint_low_inc;
-        uint const tint_carry = uint((tint_low_inc == 4294967295u));
-        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
-        idx = (idx + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg).a[4u]), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_53 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_53, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    (*tint_module_vars.wg).x = 0;
-    (*tint_module_vars.wg).y = 0u;
-  }
-  {
-    uint v = 0u;
-    v = local_invocation_index_1_param;
-    while(true) {
-      uint const v_1 = v;
-      if ((v_1 >= 10u)) {
-        break;
-      }
-      atomic_store_explicit((&(*tint_module_vars.wg).a[v_1]), 0u, memory_order_relaxed);
-      {
-        v = (v_1 + 1u);
-      }
-      continue;
-    }
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v_2).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.spvasm
deleted file mode 100644
index 1294acf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/struct_of_array.spvasm.expected.spvasm
+++ /dev/null
@@ -1,177 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 106
-; Schema: 0
-               OpCapability Shader
-         %52 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpMemberName %S_atomic 0 "x"
-               OpMemberName %S_atomic 1 "a"
-               OpMemberName %S_atomic 2 "y"
-               OpName %S_atomic "S_atomic"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %idx "idx"
-               OpName %tint_loop_idx "tint_loop_idx"
-               OpName %x_35 "x_35"
-               OpName %tint_low_inc "tint_low_inc"
-               OpName %tint_carry "tint_carry"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_53 "x_53"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-    %uint_10 = OpConstant %uint 10
-%_arr_uint_uint_10 = OpTypeArray %uint %uint_10
-   %S_atomic = OpTypeStruct %int %_arr_uint_uint_10 %uint
-%_ptr_Workgroup_S_atomic = OpTypePointer Workgroup %S_atomic
-         %wg = OpVariable %_ptr_Workgroup_S_atomic Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %16 = OpTypeFunction %void %uint
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %int_0 = OpConstant %int 0
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-     %uint_2 = OpConstant %uint 2
-     %v2uint = OpTypeVector %uint 2
-%_ptr_Function_v2uint = OpTypePointer Function %v2uint
-%uint_4294967295 = OpConstant %uint 4294967295
-         %35 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
-         %39 = OpConstantNull %v2uint
-       %bool = OpTypeBool
-     %v2bool = OpTypeVector %bool 2
-     %uint_9 = OpConstant %uint 9
-%_ptr_Workgroup_uint_0 = OpTypePointer Workgroup %uint
-     %uint_1 = OpConstant %uint 1
-   %uint_264 = OpConstant %uint 264
-     %uint_4 = OpConstant %uint 4
-         %76 = OpTypeFunction %void
-%compute_main_inner = OpFunction %void None %16
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %17 = OpLabel
-        %idx = OpVariable %_ptr_Function_uint Function
-%tint_loop_idx = OpVariable %_ptr_Function_v2uint Function
-               OpStore %idx %uint_0
-         %21 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %21 %int_0 None
-         %24 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_2
-               OpStore %24 %uint_0 None
-               OpStore %idx %local_invocation_index_2 None
-               OpBranch %27
-         %27 = OpLabel
-               OpStore %tint_loop_idx %35
-               OpBranch %30
-         %30 = OpLabel
-               OpLoopMerge %31 %29 None
-               OpBranch %28
-         %28 = OpLabel
-         %37 = OpLoad %v2uint %tint_loop_idx None
-         %38 = OpIEqual %v2bool %37 %39
-         %42 = OpAll %bool %38
-               OpSelectionMerge %43 None
-               OpBranchConditional %42 %44 %43
-         %44 = OpLabel
-               OpBranch %31
-         %43 = OpLabel
-         %45 = OpLoad %uint %idx None
-         %46 = OpULessThan %bool %45 %uint_10
-         %47 = OpLogicalNot %bool %46
-               OpSelectionMerge %48 None
-               OpBranchConditional %47 %49 %48
-         %49 = OpLabel
-               OpBranch %31
-         %48 = OpLabel
-       %x_35 = OpLoad %uint %idx None
-         %51 = OpExtInst %uint %52 UMin %x_35 %uint_9
-         %54 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %uint_1 %51
-               OpAtomicStore %54 %uint_2 %uint_0 %uint_0
-               OpBranch %29
-         %29 = OpLabel
-         %58 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-         %59 = OpLoad %uint %58 None
-%tint_low_inc = OpISub %uint %59 %uint_1
-         %61 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
-               OpStore %61 %tint_low_inc None
-         %62 = OpIEqual %bool %tint_low_inc %uint_4294967295
- %tint_carry = OpSelect %uint %62 %uint_1 %uint_0
-         %64 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-         %65 = OpLoad %uint %64 None
-         %66 = OpISub %uint %65 %tint_carry
-         %67 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
-               OpStore %67 %66 None
-         %68 = OpLoad %uint %idx None
-         %69 = OpIAdd %uint %68 %uint_1
-               OpStore %idx %69 None
-               OpBranch %30
-         %31 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %72 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %uint_1 %uint_4
-               OpAtomicStore %72 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %76
-         %77 = OpLabel
-       %x_53 = OpLoad %uint %local_invocation_index_1 None
-         %79 = OpFunctionCall %void %compute_main_inner %x_53
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %16
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %82 = OpLabel
-         %83 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %84 None
-               OpBranchConditional %83 %85 %84
-         %85 = OpLabel
-         %86 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %86 %int_0 None
-         %87 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_2
-               OpStore %87 %uint_0 None
-               OpBranch %84
-         %84 = OpLabel
-               OpBranch %88
-         %88 = OpLabel
-               OpBranch %91
-         %91 = OpLabel
-         %93 = OpPhi %uint %local_invocation_index_1_param %88 %94 %90
-               OpLoopMerge %92 %90 None
-               OpBranch %89
-         %89 = OpLabel
-         %95 = OpUGreaterThanEqual %bool %93 %uint_10
-               OpSelectionMerge %96 None
-               OpBranchConditional %95 %97 %96
-         %97 = OpLabel
-               OpBranch %92
-         %96 = OpLabel
-         %98 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %uint_1 %93
-               OpAtomicStore %98 %uint_2 %uint_0 %uint_0
-               OpBranch %90
-         %90 = OpLabel
-         %94 = OpIAdd %uint %93 %uint_1
-               OpBranch %91
-         %92 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-        %101 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %76
-        %103 = OpLabel
-        %104 = OpLoad %uint %compute_main_local_invocation_index_Input None
-        %105 = OpFunctionCall %void %compute_main_inner_0 %104
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8b9f8bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a, 0u, atomic_result);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(wg.a, 0u, atomic_result_1);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8b9f8bd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-groupshared S_atomic wg;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    wg.x = 0;
-    uint atomic_result = 0u;
-    InterlockedExchange(wg.a, 0u, atomic_result);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(wg.a, 0u, atomic_result_1);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(wg.a, 1u, atomic_result_2);
-  return;
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.glsl
deleted file mode 100644
index 144f1ab..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.glsl
+++ /dev/null
@@ -1,36 +0,0 @@
-#version 310 es
-
-
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-uint local_invocation_index_1 = 0u;
-shared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = 0;
-  atomicExchange(wg.a, 0u);
-  wg.y = 0u;
-  barrier();
-  atomicExchange(wg.a, 1u);
-}
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = 0;
-    atomicExchange(wg.a, 0u);
-    wg.y = 0u;
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 06d87e7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a, 0u, v);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    uint v_2 = 0u;
-    InterlockedExchange(wg.a, 0u, v_2);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 06d87e7..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct S_atomic {
-  int x;
-  uint a;
-  uint y;
-};
-
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared S_atomic wg;
-void compute_main_inner(uint local_invocation_index_2) {
-  wg.x = int(0);
-  uint v = 0u;
-  InterlockedExchange(wg.a, 0u, v);
-  wg.y = 0u;
-  GroupMemoryBarrierWithGroupSync();
-  uint v_1 = 0u;
-  InterlockedExchange(wg.a, 1u, v_1);
-}
-
-void compute_main_1() {
-  uint x_35 = local_invocation_index_1;
-  compute_main_inner(x_35);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    wg.x = int(0);
-    uint v_2 = 0u;
-    InterlockedExchange(wg.a, 0u, v_2);
-    wg.y = 0u;
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.msl
deleted file mode 100644
index 9043c01..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.msl
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct S_atomic {
-  int x;
-  atomic_uint a;
-  uint y;
-};
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup S_atomic* wg;
-};
-
-struct tint_symbol_1 {
-  S_atomic tint_symbol;
-};
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.wg).x = 0;
-  atomic_store_explicit((&(*tint_module_vars.wg).a), 0u, memory_order_relaxed);
-  (*tint_module_vars.wg).y = 0u;
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomic_store_explicit((&(*tint_module_vars.wg).a), 1u, memory_order_relaxed);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_35 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_35, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    (*tint_module_vars.wg).x = 0;
-    atomic_store_explicit((&(*tint_module_vars.wg).a), 0u, memory_order_relaxed);
-    (*tint_module_vars.wg).y = 0u;
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .wg=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.spvasm
deleted file mode 100644
index b119eaf..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/struct/via_ptr_let.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 53
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpMemberName %S_atomic 0 "x"
-               OpMemberName %S_atomic 1 "a"
-               OpMemberName %S_atomic 2 "y"
-               OpName %S_atomic "S_atomic"
-               OpName %wg "wg"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_35 "x_35"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-   %S_atomic = OpTypeStruct %int %uint %uint
-%_ptr_Workgroup_S_atomic = OpTypePointer Workgroup %S_atomic
-         %wg = OpVariable %_ptr_Workgroup_S_atomic Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %14 = OpTypeFunction %void %uint
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-     %uint_0 = OpConstant %uint 0
-      %int_0 = OpConstant %int 0
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-%_ptr_Workgroup_uint_0 = OpTypePointer Workgroup %uint
-   %uint_264 = OpConstant %uint 264
-         %32 = OpTypeFunction %void
-       %bool = OpTypeBool
-%compute_main_inner = OpFunction %void None %14
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %15 = OpLabel
-         %16 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %16 %int_0 None
-         %20 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %20 %uint_2 %uint_0 %uint_0
-         %25 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %uint_2
-               OpStore %25 %uint_0 None
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %29 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %29 %uint_2 %uint_0 %uint_1
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %32
-         %33 = OpLabel
-       %x_35 = OpLoad %uint %local_invocation_index_1 None
-         %35 = OpFunctionCall %void %compute_main_inner %x_35
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %14
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %38 = OpLabel
-         %39 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %39 %42 %41
-         %42 = OpLabel
-         %43 = OpAccessChain %_ptr_Workgroup_int %wg %uint_0
-               OpStore %43 %int_0 None
-         %44 = OpAccessChain %_ptr_Workgroup_uint %wg %uint_1
-               OpAtomicStore %44 %uint_2 %uint_0 %uint_0
-         %46 = OpAccessChain %_ptr_Workgroup_uint_0 %wg %uint_2
-               OpStore %46 %uint_0 None
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %48 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %32
-         %50 = OpLabel
-         %51 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %52 = OpFunctionCall %void %compute_main_inner_0 %51
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 93cea9c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_8bea94() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, x_19, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 93cea9c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_8bea94() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedExchange(arg_0, x_19, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 4ae9a0a..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,31 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicStore_8bea94() {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  atomicExchange(arg_0, x_19);
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicStore_8bea94();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index f1ae512..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicStore_8bea94() {
-  int arg_1 = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedExchange(arg_0, x_19, v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index f1ae512..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicStore_8bea94() {
-  int arg_1 = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedExchange(arg_0, x_19, v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_8bea94();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 02dfccd..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicStore_8bea94(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  atomic_store_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicStore_8bea94(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 8d1e3dc..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,87 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 49
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicStore_8bea94 "atomicStore_8bea94"
-               OpName %arg_1 "arg_1"
-               OpName %x_19 "x_19"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %24 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicStore_8bea94 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %x_19
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %25 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %29 = OpFunctionCall %void %atomicStore_8bea94
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %31 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %33 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %24
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %36 = OpLabel
-         %37 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %40 None
-               OpBranchConditional %37 %41 %40
-         %41 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %40
-         %40 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %44 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %46 = OpLabel
-         %47 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %48 = OpFunctionCall %void %compute_main_inner_0 %47
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 4047f5c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_726882() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, x_18, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 4047f5c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicStore_726882() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedExchange(arg_0, x_18, atomic_result_1);
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-  return;
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index b6cfa5d..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,31 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicStore_726882() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  atomicExchange(arg_0, x_18);
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicStore_726882();
-}
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 263dc33..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicStore_726882() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedExchange(arg_0, x_18, v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 263dc33..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,42 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicStore_726882() {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedExchange(arg_0, x_18, v);
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicStore_726882();
-}
-
-void compute_main_1() {
-  uint x_31 = local_invocation_index_1;
-  compute_main_inner(x_31);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 799e591..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicStore_726882(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  atomic_store_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicStore_726882(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_31 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_31, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 5010522..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicStore/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,84 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 46
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicStore_726882 "atomicStore_726882"
-               OpName %arg_1 "arg_1"
-               OpName %x_18 "x_18"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_31 "x_31"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %22 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicStore_726882 = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %x_18
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %22
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %23 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %27 = OpFunctionCall %void %atomicStore_726882
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %29 = OpLabel
-       %x_31 = OpLoad %uint %local_invocation_index_1 None
-         %31 = OpFunctionCall %void %compute_main_inner %x_31
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %22
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %34 = OpLabel
-         %35 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %37 None
-               OpBranchConditional %35 %38 %37
-         %38 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %37
-         %37 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %41 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %43 = OpLabel
-         %44 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %45 = OpFunctionCall %void %compute_main_inner_0 %44
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 890a485..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicSub(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicSub(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 890a485..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicSub(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_051100() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicSub(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 9340587..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_051100() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicAdd(v.inner.arg_0, -(x_20));
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicSub_051100();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_051100() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicAdd(v.inner.arg_0, -(x_20));
-  res = x_13;
-}
-void compute_main_1() {
-  atomicSub_051100();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c66a37c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - x_20), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - x_20), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c66a37c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - x_20), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicSub_051100();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_051100() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - x_20), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicSub_051100();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.msl
deleted file mode 100644
index a53bead..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_051100(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_051100(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_051100(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_051100(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 162ef24..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_051100 "atomicSub_051100"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicSub_051100 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicSub_051100
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_051100 "atomicSub_051100"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicSub_051100 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicSub_051100
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 006c07a..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicSub(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicSub(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 006c07a..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicSub(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicSub(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 00b02e3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicAdd(v.inner.arg_0, -(x_18));
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicSub_15bfc9();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicAdd(v.inner.arg_0, -(x_18));
-  res = x_13;
-}
-void compute_main_1() {
-  atomicSub_15bfc9();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c45a310..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - x_18), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - x_18), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c45a310..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - x_18), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicSub_15bfc9();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicSub_15bfc9() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - x_18), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicSub_15bfc9();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 29b0119..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_15bfc9(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_15bfc9(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicSub_15bfc9(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicSub_15bfc9(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index 1b174a8..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_15bfc9 "atomicSub_15bfc9"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicSub_15bfc9 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicSub_15bfc9
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicSub_15bfc9 "atomicSub_15bfc9"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicSub_15bfc9 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicSub_15bfc9
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 06aaf32..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_77883a() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(x_19), atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 06aaf32..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_77883a() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(x_19), atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index a75d107..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicSub_77883a() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicAdd(arg_0, -(x_19));
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicSub_77883a();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index c997c10..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicSub_77883a() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - x_19), v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index c997c10..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicSub_77883a() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - x_19), v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_77883a();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index e08aae3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicSub_77883a(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicSub_77883a(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 3d55b61..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicSub_77883a "atomicSub_77883a"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicSub_77883a = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicISub %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicSub_77883a
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b7149c0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_0d26c2() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(x_18), atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b7149c0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicSub_0d26c2() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(x_18), atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 6557c5f..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicSub_0d26c2() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicAdd(arg_0, -(x_18));
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicSub_0d26c2();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 49eb2b1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicSub_0d26c2() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - x_18), v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 49eb2b1..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicSub_0d26c2() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - x_18), v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicSub_0d26c2();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 793e3d3..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicSub_0d26c2(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicSub_0d26c2(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index c98d08b..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicSub/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicSub_0d26c2 "atomicSub_0d26c2"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicSub_0d26c2 = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicISub %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicSub_0d26c2
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 038ed24..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicXor(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicXor(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 038ed24..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicXor(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicXor(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_c1b78c() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = sb_rwatomicXor(0u, x_20);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 3174ba4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_c1b78c() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicXor(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicXor_c1b78c();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_c1b78c() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_20 = arg_1;
-  int x_13 = atomicXor(v.inner.arg_0, x_20);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicXor_c1b78c();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index bc33902..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index bc33902..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicXor_c1b78c();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_c1b78c() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_20 = arg_1;
-  int v = int(0);
-  sb_rw.InterlockedXor(int(0u), x_20, v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicXor_c1b78c();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 1d2bd03..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_c1b78c(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_c1b78c(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_c1b78c(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_20 = arg_1;
-  int const x_13 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), x_20, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_c1b78c(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 3e316d4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,132 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_c1b78c "atomicXor_c1b78c"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicXor_c1b78c = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicXor %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicXor_c1b78c
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_c1b78c "atomicXor_c1b78c"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_20 "x_20"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicXor_c1b78c = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_20 = OpLoad %int %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicXor %int %16 %uint_1 %uint_0 %x_20
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %atomicXor_c1b78c
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 6f720ea..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicXor(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicXor(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 6f720ea..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicXor(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicXor(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedXor(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = sb_rwatomicXor(0u, x_18);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 1d9147c..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicXor(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicXor_54510e();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_13 = atomicXor(v.inner.arg_0, x_18);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicXor_54510e();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d8fa6d0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d8fa6d0..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicXor_54510e();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicXor_54510e() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  sb_rw.InterlockedXor(0u, x_18, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicXor_54510e();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 96063d9..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_54510e(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_54510e(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicXor_54510e(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_13 = atomic_fetch_xor_explicit((&(*tint_module_vars.sb_rw).arg_0), x_18, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicXor_54510e(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index b4eb421..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,126 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_54510e "atomicXor_54510e"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicXor_54510e = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicXor %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicXor_54510e
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicXor_54510e "atomicXor_54510e"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicXor_54510e = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-         %16 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicXor %uint %16 %uint_1 %uint_0 %x_18
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %atomicXor_54510e
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8e33004..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_75dc95() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedXor(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8e33004..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_75dc95() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int atomic_result_1 = 0;
-  InterlockedXor(arg_0, x_19, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index 6bab463..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicXor_75dc95() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_19 = arg_1;
-  int x_15 = atomicXor(arg_0, x_19);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicXor_75dc95();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index f984067..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicXor_75dc95() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedXor(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index f984067..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicXor_75dc95() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int x_19 = arg_1;
-  int v = int(0);
-  InterlockedXor(arg_0, x_19, v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_75dc95();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 82ef013..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicXor_75dc95(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_19 = arg_1;
-  int const x_15 = atomic_fetch_xor_explicit(tint_module_vars.arg_0, x_19, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicXor_75dc95(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index 3627061..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,92 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 50
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicXor_75dc95 "atomicXor_75dc95"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_19 "x_19"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %25 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicXor_75dc95 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_19 = OpLoad %int %arg_1 None
-       %x_15 = OpAtomicXor %int %arg_0 %uint_2 %uint_0 %x_19
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %25
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %26 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %30 = OpFunctionCall %void %atomicXor_75dc95
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %32 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %34 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %25
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %37 = OpLabel
-         %38 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %41 None
-               OpBranchConditional %38 %42 %41
-         %42 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %41
-         %41 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %45 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %47 = OpLabel
-         %48 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %49 = OpFunctionCall %void %compute_main_inner_0 %48
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 8485eb4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_c8e6be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedXor(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 8485eb4..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicXor_c8e6be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint atomic_result_1 = 0u;
-  InterlockedXor(arg_0, x_18, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index c4a0361..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,33 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicXor_c8e6be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint x_14 = atomicXor(arg_0, x_18);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicXor_c8e6be();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 96d48fb..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicXor_c8e6be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedXor(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 96d48fb..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicXor_c8e6be() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_18 = arg_1;
-  uint v = 0u;
-  InterlockedXor(arg_0, x_18, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicXor_c8e6be();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 9fa8055..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicXor_c8e6be(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_18 = arg_1;
-  uint const x_14 = atomic_fetch_xor_explicit(tint_module_vars.arg_0, x_18, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicXor_c8e6be(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 51b0403..0000000
--- a/test/tint/unittest/reader/atomics/var/atomicXor/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,89 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicXor_c8e6be "atomicXor_c8e6be"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_18 "x_18"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %23 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicXor_c8e6be = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_18 = OpLoad %uint %arg_1 None
-       %x_14 = OpAtomicXor %uint %arg_0 %uint_2 %uint_0 %x_18
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %24 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %28 = OpFunctionCall %void %atomicXor_c8e6be
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %30 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %32 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %23
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %35 = OpLabel
-         %36 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %38
-         %38 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %42 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %44 = OpLabel
-         %45 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %46 = OpFunctionCall %void %compute_main_inner_0 %45
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index cffdbd1..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicSub(0u, 1);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicSub(0u, 1);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cffdbd1..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicSub(0u, 1);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicSub(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicSub(0u, 1);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 7c86d76..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = atomicAdd(v.inner.arg_0, -(1));
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = atomicAdd(v.inner.arg_0, -(1));
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 48b7a57..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 48b7a57..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), (int(0) - int(1)), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 5098185..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index befa97f..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,128 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 27
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %int %15 %uint_1 %uint_0 %int_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %25 = OpLabel
-         %26 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 27
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %int %15 %uint_1 %uint_0 %int_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %25 = OpLabel
-         %26 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index c9e339c..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicSub(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicSub(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index c9e339c..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicSub(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicSub(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, -value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicSub(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index e57db42..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = atomicAdd(v.inner.arg_0, -(1u));
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = atomicAdd(v.inner.arg_0, -(1u));
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 2ff94f8..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 2ff94f8..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, (0u - 1u), v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 9779c83..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_13 = atomic_fetch_sub_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index b21ea0b..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,122 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 24
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %uint %15 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 24
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicISub %uint %15 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a42b73f..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(1), atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a42b73f..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, -(1), atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index d7a34f7..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_15 = atomicAdd(arg_0, -(1));
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAdd_794055();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 2bce369..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - int(1)), v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 2bce369..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  InterlockedAdd(arg_0, (int(0) - int(1)), v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index 7451aa2..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAdd_794055(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_15 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_794055(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index edf2b80..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,90 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 49
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_794055 "atomicAdd_794055"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %24 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAdd_794055 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_15 = OpAtomicISub %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %25 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %29 = OpFunctionCall %void %atomicAdd_794055
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %31 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %33 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %24
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %36 = OpLabel
-         %37 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %40 None
-               OpBranchConditional %37 %41 %40
-         %41 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %40
-         %40 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %44 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %46 = OpLabel
-         %47 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %48 = OpFunctionCall %void %compute_main_inner_0 %47
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 97859e3..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(1u), atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 97859e3..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, -(1u), atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 166b8e2..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_14 = atomicAdd(arg_0, -(1u));
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAdd_d5db1d();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 099e368..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - 1u), v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 099e368..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, (0u - 1u), v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index 0e0565a..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAdd_d5db1d(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_14 = atomic_fetch_sub_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_d5db1d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index acde4bb..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicDecrement/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,87 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 46
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_d5db1d "atomicAdd_d5db1d"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %22 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAdd_d5db1d = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_14 = OpAtomicISub %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %22
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %23 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %27 = OpFunctionCall %void %atomicAdd_d5db1d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %29 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %31 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %22
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %34 = OpLabel
-         %35 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %37 None
-               OpBranchConditional %35 %38 %37
-         %38 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %37
-         %37 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %41 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %43 = OpLabel
-         %44 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %45 = OpFunctionCall %void %compute_main_inner_0 %44
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 866fbaa..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicAdd(0u, 1);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicAdd(0u, 1);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 866fbaa..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicAdd(0u, 1);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-int sb_rwatomicAdd(uint offset, int value) {
-  int original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = sb_rwatomicAdd(0u, 1);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
deleted file mode 100644
index 77945db..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = atomicAdd(v.inner.arg_0, 1);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  int arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_d32fe4() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_13 = atomicAdd(v.inner.arg_0, 1);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 02d6c05..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 02d6c05..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_d32fe4();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_d32fe4() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  sb_rw.InterlockedAdd(int(0u), int(1), v);
-  int x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_d32fe4();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.msl
deleted file mode 100644
index 2b7ce59..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_int arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_d32fe4(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_d32fe4(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.spvasm
deleted file mode 100644
index 323947e..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,128 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 27
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %int %15 %uint_1 %uint_0 %int_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %25 = OpLabel
-         %26 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 27
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_d32fe4 "atomicAdd_d32fe4"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-        %int = OpTypeInt 32 1
-%SB_RW_atomic = OpTypeStruct %int
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
-       %uint = OpTypeInt 32 0
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%atomicAdd_d32fe4 = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %int %15 %uint_1 %uint_0 %int_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %atomicAdd_d32fe4
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %25 = OpLabel
-         %26 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 5fa43b0..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicAdd(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicAdd(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 5fa43b0..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// fragment_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicAdd(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-RWByteAddressBuffer sb_rw : register(u0);
-
-uint sb_rwatomicAdd(uint offset, uint value) {
-  uint original_value = 0;
-  sb_rw.InterlockedAdd(offset, value, original_value);
-  return original_value;
-}
-
-
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = sb_rwatomicAdd(0u, 1u);
-  res = x_13;
-  return;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
deleted file mode 100644
index 7e8222f..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer f_sb_rw_block_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = atomicAdd(v.inner.arg_0, 1u);
-  res = x_13;
-}
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct SB_RW_atomic {
-  uint arg_0;
-};
-
-layout(binding = 0, std430)
-buffer sb_rw_block_1_ssbo {
-  SB_RW_atomic inner;
-} v;
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_13 = atomicAdd(v.inner.arg_0, 1u);
-  res = x_13;
-}
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 59042d9..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 59042d9..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// fragment_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void fragment_main_1() {
-  atomicAdd_8a199a();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-RWByteAddressBuffer sb_rw : register(u0);
-void atomicAdd_8a199a() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  sb_rw.InterlockedAdd(0u, 1u, v);
-  uint x_13 = v;
-  res = x_13;
-}
-
-void compute_main_1() {
-  atomicAdd_8a199a();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.msl
deleted file mode 100644
index 0ff8bfc..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_13;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-fragment void fragment_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct SB_RW_atomic {
-  /* 0x0000 */ atomic_uint arg_0;
-};
-
-struct tint_module_vars_struct {
-  device SB_RW_atomic* sb_rw;
-};
-
-void atomicAdd_8a199a(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_13 = atomic_fetch_add_explicit((&(*tint_module_vars.sb_rw).arg_0), 1u, memory_order_relaxed);
-  res = x_13;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  atomicAdd_8a199a(tint_module_vars);
-}
-
-kernel void compute_main(device SB_RW_atomic* sb_rw [[buffer(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.spvasm
deleted file mode 100644
index bc98102..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/storage_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,122 +0,0 @@
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 24
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %uint %15 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 24
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpMemberName %SB_RW_atomic 0 "arg_0"
-               OpName %SB_RW_atomic "SB_RW_atomic"
-               OpMemberName %sb_rw_block 0 "inner"
-               OpName %sb_rw_block "sb_rw_block"
-               OpName %atomicAdd_8a199a "atomicAdd_8a199a"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_13 "x_13"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpMemberDecorate %SB_RW_atomic 0 Offset 0
-               OpMemberDecorate %sb_rw_block 0 Offset 0
-               OpDecorate %sb_rw_block Block
-               OpDecorate %1 DescriptorSet 0
-               OpDecorate %1 Binding 0
-               OpDecorate %1 Coherent
-       %uint = OpTypeInt 32 0
-%SB_RW_atomic = OpTypeStruct %uint
-%sb_rw_block = OpTypeStruct %SB_RW_atomic
-%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
-          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
-       %void = OpTypeVoid
-          %8 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
-%atomicAdd_8a199a = OpFunction %void None %8
-          %9 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-         %15 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
-       %x_13 = OpAtomicIAdd %uint %15 %uint_1 %uint_0 %uint_1
-               OpStore %res %x_13 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %8
-         %19 = OpLabel
-         %20 = OpFunctionCall %void %atomicAdd_8a199a
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %8
-         %22 = OpLabel
-         %23 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 0da074a..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, 1, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 0da074a..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared int arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    int atomic_result = 0;
-    InterlockedExchange(arg_0, 0, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int atomic_result_1 = 0;
-  InterlockedAdd(arg_0, 1, atomic_result_1);
-  int x_15 = atomic_result_1;
-  res = x_15;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int atomic_result_2 = 0;
-  InterlockedExchange(arg_0, 0, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-  return;
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.glsl
deleted file mode 100644
index a221852..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int x_15 = atomicAdd(arg_0, 1);
-  res = x_15;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0);
-  barrier();
-  atomicAdd_794055();
-}
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 4ac3d9e..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  InterlockedAdd(arg_0, int(1), v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 4ac3d9e..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared int arg_0;
-void atomicAdd_794055() {
-  int arg_1 = int(0);
-  int res = int(0);
-  arg_1 = int(1);
-  int v = int(0);
-  InterlockedAdd(arg_0, int(1), v);
-  int x_15 = v;
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  int v_1 = int(0);
-  InterlockedExchange(arg_0, int(0), v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_794055();
-}
-
-void compute_main_1() {
-  uint x_33 = local_invocation_index_1;
-  compute_main_inner(x_33);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    int v_2 = int(0);
-    InterlockedExchange(arg_0, int(0), v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.msl
deleted file mode 100644
index c5b0929..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.msl
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_int* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_int tint_symbol;
-};
-
-void atomicAdd_794055(tint_module_vars_struct tint_module_vars) {
-  int arg_1 = 0;
-  int res = 0;
-  arg_1 = 1;
-  int const x_15 = atomic_fetch_add_explicit(tint_module_vars.arg_0, 1, memory_order_relaxed);
-  res = x_15;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_794055(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_33 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_33, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.spvasm
deleted file mode 100644
index f6af78e..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,90 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 49
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_794055 "atomicAdd_794055"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_15 "x_15"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_33 "x_33"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-        %int = OpTypeInt 32 1
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
-      %arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %12 = OpTypeFunction %void
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-      %int_1 = OpConstant %int 1
-     %uint_2 = OpConstant %uint 2
-     %uint_0 = OpConstant %uint 0
-         %24 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-     %uint_1 = OpConstant %uint 1
-       %bool = OpTypeBool
-%atomicAdd_794055 = OpFunction %void None %12
-         %13 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_int Function
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %arg_1 %int_0
-               OpStore %res %int_0
-               OpStore %arg_1 %int_1 None
-       %x_15 = OpAtomicIAdd %int %arg_0 %uint_2 %uint_0 %int_1
-               OpStore %res %x_15 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %25 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %29 = OpFunctionCall %void %atomicAdd_794055
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %12
-         %31 = OpLabel
-       %x_33 = OpLoad %uint %local_invocation_index_1 None
-         %33 = OpFunctionCall %void %compute_main_inner %x_33
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %24
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %36 = OpLabel
-         %37 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %40 None
-               OpBranchConditional %37 %41 %40
-         %41 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %int_0
-               OpBranch %40
-         %40 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %44 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %12
-         %46 = OpLabel
-         %47 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %48 = OpFunctionCall %void %compute_main_inner_0 %47
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 4e36edd..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, 1u, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 4e36edd..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,52 +0,0 @@
-groupshared uint arg_0;
-
-void tint_zero_workgroup_memory(uint local_idx) {
-  if ((local_idx < 1u)) {
-    uint atomic_result = 0u;
-    InterlockedExchange(arg_0, 0u, atomic_result);
-  }
-  GroupMemoryBarrierWithGroupSync();
-}
-
-static uint local_invocation_index_1 = 0u;
-
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint atomic_result_1 = 0u;
-  InterlockedAdd(arg_0, 1u, atomic_result_1);
-  uint x_14 = atomic_result_1;
-  res = x_14;
-  return;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint atomic_result_2 = 0u;
-  InterlockedExchange(arg_0, 0u, atomic_result_2);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-  return;
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-  return;
-}
-
-struct tint_symbol_1 {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  tint_zero_workgroup_memory(local_invocation_index_1_param);
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(tint_symbol_1 tint_symbol) {
-  compute_main_inner_1(tint_symbol.local_invocation_index_1_param);
-  return;
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.glsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.glsl
deleted file mode 100644
index 57738d7..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-#version 310 es
-
-uint local_invocation_index_1 = 0u;
-shared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint x_14 = atomicAdd(arg_0, 1u);
-  res = x_14;
-}
-void compute_main_inner(uint local_invocation_index_2) {
-  atomicExchange(arg_0, 0u);
-  barrier();
-  atomicAdd_d5db1d();
-}
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomicExchange(arg_0, 0u);
-  }
-  barrier();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_inner_1(gl_LocalInvocationIndex);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index f91b3da..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, 1u, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index f91b3da..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,44 +0,0 @@
-struct compute_main_inputs {
-  uint local_invocation_index_1_param : SV_GroupIndex;
-};
-
-
-static uint local_invocation_index_1 = 0u;
-groupshared uint arg_0;
-void atomicAdd_d5db1d() {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint v = 0u;
-  InterlockedAdd(arg_0, 1u, v);
-  uint x_14 = v;
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2) {
-  uint v_1 = 0u;
-  InterlockedExchange(arg_0, 0u, v_1);
-  GroupMemoryBarrierWithGroupSync();
-  atomicAdd_d5db1d();
-}
-
-void compute_main_1() {
-  uint x_32 = local_invocation_index_1;
-  compute_main_inner(x_32);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param) {
-  if ((local_invocation_index_1_param < 1u)) {
-    uint v_2 = 0u;
-    InterlockedExchange(arg_0, 0u, v_2);
-  }
-  GroupMemoryBarrierWithGroupSync();
-  local_invocation_index_1 = local_invocation_index_1_param;
-  compute_main_1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main(compute_main_inputs inputs) {
-  compute_main_inner_1(inputs.local_invocation_index_1_param);
-}
-
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.msl b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.msl
deleted file mode 100644
index d1da9b9..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.msl
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  thread uint* local_invocation_index_1;
-  threadgroup atomic_uint* arg_0;
-};
-
-struct tint_symbol_1 {
-  atomic_uint tint_symbol;
-};
-
-void atomicAdd_d5db1d(tint_module_vars_struct tint_module_vars) {
-  uint arg_1 = 0u;
-  uint res = 0u;
-  arg_1 = 1u;
-  uint const x_14 = atomic_fetch_add_explicit(tint_module_vars.arg_0, 1u, memory_order_relaxed);
-  res = x_14;
-}
-
-void compute_main_inner(uint local_invocation_index_2, tint_module_vars_struct tint_module_vars) {
-  atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  atomicAdd_d5db1d(tint_module_vars);
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  uint const x_32 = (*tint_module_vars.local_invocation_index_1);
-  compute_main_inner(x_32, tint_module_vars);
-}
-
-void compute_main_inner_1(uint local_invocation_index_1_param, tint_module_vars_struct tint_module_vars) {
-  if ((local_invocation_index_1_param < 1u)) {
-    atomic_store_explicit(tint_module_vars.arg_0, 0u, memory_order_relaxed);
-  }
-  threadgroup_barrier(mem_flags::mem_threadgroup);
-  (*tint_module_vars.local_invocation_index_1) = local_invocation_index_1_param;
-  compute_main_1(tint_module_vars);
-}
-
-kernel void compute_main(uint local_invocation_index_1_param [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
-  thread uint local_invocation_index_1 = 0u;
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.local_invocation_index_1=(&local_invocation_index_1), .arg_0=(&(*v).tint_symbol)};
-  compute_main_inner_1(local_invocation_index_1_param, tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.spvasm b/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.spvasm
deleted file mode 100644
index 61cae64..0000000
--- a/test/tint/unittest/reader/atomics/var/spvAtomicIncrement/workgroup_u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,87 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 46
-; Schema: 0
-               OpCapability Shader
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main" %compute_main_local_invocation_index_Input
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %local_invocation_index_1 "local_invocation_index_1"
-               OpName %arg_0 "arg_0"
-               OpName %compute_main_local_invocation_index_Input "compute_main_local_invocation_index_Input"
-               OpName %atomicAdd_d5db1d "atomicAdd_d5db1d"
-               OpName %arg_1 "arg_1"
-               OpName %res "res"
-               OpName %x_14 "x_14"
-               OpName %compute_main_inner "compute_main_inner"
-               OpName %local_invocation_index_2 "local_invocation_index_2"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %x_32 "x_32"
-               OpName %compute_main_inner_0 "compute_main_inner"
-               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
-               OpName %compute_main "compute_main"
-               OpDecorate %compute_main_local_invocation_index_Input BuiltIn LocalInvocationIndex
-       %uint = OpTypeInt 32 0
-%_ptr_Private_uint = OpTypePointer Private %uint
-          %4 = OpConstantNull %uint
-%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %4
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
-      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
-%_ptr_Input_uint = OpTypePointer Input %uint
-%compute_main_local_invocation_index_Input = OpVariable %_ptr_Input_uint Input
-       %void = OpTypeVoid
-         %11 = OpTypeFunction %void
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-     %uint_1 = OpConstant %uint 1
-     %uint_2 = OpConstant %uint 2
-         %22 = OpTypeFunction %void %uint
-   %uint_264 = OpConstant %uint 264
-       %bool = OpTypeBool
-%atomicAdd_d5db1d = OpFunction %void None %11
-         %12 = OpLabel
-      %arg_1 = OpVariable %_ptr_Function_uint Function
-        %res = OpVariable %_ptr_Function_uint Function
-               OpStore %arg_1 %uint_0
-               OpStore %res %uint_0
-               OpStore %arg_1 %uint_1 None
-       %x_14 = OpAtomicIAdd %uint %arg_0 %uint_2 %uint_0 %uint_1
-               OpStore %res %x_14 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner = OpFunction %void None %22
-%local_invocation_index_2 = OpFunctionParameter %uint
-         %23 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-         %27 = OpFunctionCall %void %atomicAdd_d5db1d
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %11
-         %29 = OpLabel
-       %x_32 = OpLoad %uint %local_invocation_index_1 None
-         %31 = OpFunctionCall %void %compute_main_inner %x_32
-               OpReturn
-               OpFunctionEnd
-%compute_main_inner_0 = OpFunction %void None %22
-%local_invocation_index_1_param = OpFunctionParameter %uint
-         %34 = OpLabel
-         %35 = OpULessThan %bool %local_invocation_index_1_param %uint_1
-               OpSelectionMerge %37 None
-               OpBranchConditional %35 %38 %37
-         %38 = OpLabel
-               OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_0
-               OpBranch %37
-         %37 = OpLabel
-               OpControlBarrier %uint_2 %uint_2 %uint_264
-               OpStore %local_invocation_index_1 %local_invocation_index_1_param None
-         %41 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %11
-         %43 = OpLabel
-         %44 = OpLoad %uint %compute_main_local_invocation_index_Input None
-         %45 = OpFunctionCall %void %compute_main_inner_0 %44
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/degrees.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/degrees.spvasm.expected.dxc.hlsl
deleted file mode 100644
index b8228b2..0000000
--- a/test/tint/unittest/reader/degrees.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-float tint_degrees(float param_0) {
-  return param_0 * 57.29577951308232286465;
-}
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = tint_degrees(a);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/degrees.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/degrees.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b8228b2..0000000
--- a/test/tint/unittest/reader/degrees.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-float tint_degrees(float param_0) {
-  return param_0 * 57.29577951308232286465;
-}
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = tint_degrees(a);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/degrees.spvasm.expected.glsl b/test/tint/unittest/reader/degrees.spvasm.expected.glsl
deleted file mode 100644
index a3619d3..0000000
--- a/test/tint/unittest/reader/degrees.spvasm.expected.glsl
+++ /dev/null
@@ -1,12 +0,0 @@
-#version 310 es
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = degrees(a);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/unittest/reader/degrees.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/degrees.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 4cc1e64..0000000
--- a/test/tint/unittest/reader/degrees.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = (a * 57.295780181884765625f);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/unittest/reader/degrees.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/degrees.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 4cc1e64..0000000
--- a/test/tint/unittest/reader/degrees.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = (a * 57.295780181884765625f);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/unittest/reader/degrees.spvasm.expected.msl b/test/tint/unittest/reader/degrees.spvasm.expected.msl
deleted file mode 100644
index c9c604d..0000000
--- a/test/tint/unittest/reader/degrees.spvasm.expected.msl
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = (a * 57.295780181884765625f);
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/unittest/reader/degrees.spvasm.expected.spvasm b/test/tint/unittest/reader/degrees.spvasm.expected.spvasm
deleted file mode 100644
index c153bae..0000000
--- a/test/tint/unittest/reader/degrees.spvasm.expected.spvasm
+++ /dev/null
@@ -1,35 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 17
-; Schema: 0
-               OpCapability Shader
-         %13 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %a "a"
-               OpName %b "b"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-%_ptr_Function_float = OpTypePointer Function %float
-          %8 = OpConstantNull %float
-   %float_42 = OpConstant %float 42
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %a = OpVariable %_ptr_Function_float Function %8
-          %b = OpVariable %_ptr_Function_float Function %8
-               OpStore %a %float_42 None
-         %11 = OpLoad %float %a None
-         %12 = OpExtInst %float %13 Degrees %11
-               OpStore %b %12 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %15 = OpLabel
-         %16 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index cf0dfa8..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-int tint_extract_bits(int v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  int shl_result = ((shl < 32u) ? (v << shl) : 0);
-  return ((shr < 32u) ? (shl_result >> shr) : ((shl_result >> 31u) >> 1u));
-}
-
-void f_1() {
-  int v = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int x_14 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index cf0dfa8..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-int tint_extract_bits(int v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  int shl_result = ((shl < 32u) ? (v << shl) : 0);
-  return ((shr < 32u) ? (shl_result >> shr) : ((shl_result >> 31u) >> 1u));
-}
-
-void f_1() {
-  int v = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int x_14 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.glsl b/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.glsl
deleted file mode 100644
index c8c2e6b..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,16 +0,0 @@
-#version 310 es
-
-void f_1() {
-  int v = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = min(count, (32u - v_2));
-  int v_4 = int(v_2);
-  int x_14 = bitfieldExtract(v_1, v_4, int(v_3));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index e337922..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  int v = int(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  int v_4 = (((v_3 < 32u)) ? ((v_1 << uint(v_3))) : (int(0)));
-  int x_14 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint((v_3 + v_2)))) : (((v_4 >> 31u) >> 1u)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index e337922..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  int v = int(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  int v_4 = (((v_3 < 32u)) ? ((v_1 << uint(v_3))) : (int(0)));
-  int x_14 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint((v_3 + v_2)))) : (((v_4 >> 31u) >> 1u)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.msl b/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.msl
deleted file mode 100644
index 4117282..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  int v = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  int const x_14 = extract_bits(v, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.spvasm b/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.spvasm
deleted file mode 100644
index 2112774..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,47 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-         %18 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_14 "x_14"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %uint = OpTypeInt 32 0
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_int Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %int_0
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %14 = OpLoad %int %v None
-         %15 = OpLoad %uint %offset_1 None
-         %16 = OpLoad %uint %count None
-         %17 = OpExtInst %uint %18 UMin %15 %uint_32
-         %20 = OpISub %uint %uint_32 %17
-         %21 = OpExtInst %uint %18 UMin %16 %20
-       %x_14 = OpBitFieldSExtract %int %14 %17 %21
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index a6f3577..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-uint tint_extract_bits(uint v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  uint shl_result = ((shl < 32u) ? (v << shl) : 0u);
-  return ((shr < 32u) ? (shl_result >> shr) : ((shl_result >> 31u) >> 1u));
-}
-
-void f_1() {
-  uint v = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint x_11 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a6f3577..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-uint tint_extract_bits(uint v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  uint shl_result = ((shl < 32u) ? (v << shl) : 0u);
-  return ((shr < 32u) ? (shl_result >> shr) : ((shl_result >> 31u) >> 1u));
-}
-
-void f_1() {
-  uint v = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint x_11 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.glsl b/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.glsl
deleted file mode 100644
index 7437237..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,16 +0,0 @@
-#version 310 es
-
-void f_1() {
-  uint v = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = min(count, (32u - v_2));
-  int v_4 = int(v_2);
-  uint x_11 = bitfieldExtract(v_1, v_4, int(v_3));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 29dab62..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  uint v = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  uint v_4 = (((v_3 < 32u)) ? ((v_1 << uint(v_3))) : (0u));
-  uint x_11 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint((v_3 + v_2)))) : (((v_4 >> 31u) >> 1u)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 29dab62..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  uint v = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  uint v_4 = (((v_3 < 32u)) ? ((v_1 << uint(v_3))) : (0u));
-  uint x_11 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint((v_3 + v_2)))) : (((v_4 >> 31u) >> 1u)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.msl b/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.msl
deleted file mode 100644
index a5aac2e..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.msl
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  uint v = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  uint const x_11 = extract_bits(v, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.spvasm b/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.spvasm
deleted file mode 100644
index 1d6ffac..0000000
--- a/test/tint/unittest/reader/extractBits/scalar/u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,44 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-         %15 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_11 "x_11"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-       %uint = OpTypeInt 32 0
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_uint Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %uint_0
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %11 = OpLoad %uint %v None
-         %12 = OpLoad %uint %offset_1 None
-         %13 = OpLoad %uint %count None
-         %14 = OpExtInst %uint %15 UMin %12 %uint_32
-         %17 = OpISub %uint %uint_32 %14
-         %18 = OpExtInst %uint %15 UMin %13 %17
-       %x_11 = OpBitFieldUExtract %uint %11 %14 %18
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 69839c4..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-int3 tint_extract_bits(int3 v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  int3 shl_result = ((shl < 32u) ? (v << uint3((shl).xxx)) : (0).xxx);
-  return ((shr < 32u) ? (shl_result >> uint3((shr).xxx)) : ((shl_result >> (31u).xxx) >> (1u).xxx));
-}
-
-void f_1() {
-  int3 v = (0).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 x_15 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 69839c4..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-int3 tint_extract_bits(int3 v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  int3 shl_result = ((shl < 32u) ? (v << uint3((shl).xxx)) : (0).xxx);
-  return ((shr < 32u) ? (shl_result >> uint3((shr).xxx)) : ((shl_result >> (31u).xxx) >> (1u).xxx));
-}
-
-void f_1() {
-  int3 v = (0).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 x_15 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.glsl b/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.glsl
deleted file mode 100644
index 01efa3f..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,16 +0,0 @@
-#version 310 es
-
-void f_1() {
-  ivec3 v = ivec3(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  ivec3 v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = min(count, (32u - v_2));
-  int v_4 = int(v_2);
-  ivec3 x_15 = bitfieldExtract(v_1, v_4, int(v_3));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 25ecf9b..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  int3 v = (int(0)).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  int3 v_4 = (((v_3 < 32u)) ? ((v_1 << uint3((v_3).xxx))) : ((int(0)).xxx));
-  int3 x_15 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint3(((v_3 + v_2)).xxx))) : (((v_4 >> (31u).xxx) >> (1u).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 25ecf9b..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  int3 v = (int(0)).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  int3 v_4 = (((v_3 < 32u)) ? ((v_1 << uint3((v_3).xxx))) : ((int(0)).xxx));
-  int3 x_15 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint3(((v_3 + v_2)).xxx))) : (((v_4 >> (31u).xxx) >> (1u).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.msl b/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.msl
deleted file mode 100644
index 545b0b7..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  int3 v = int3(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  int3 const x_15 = extract_bits(v, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.spvasm b/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.spvasm
deleted file mode 100644
index 03749ad..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,48 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 27
-; Schema: 0
-               OpCapability Shader
-         %19 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_15 "x_15"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-      %v3int = OpTypeVector %int 3
-%_ptr_Function_v3int = OpTypePointer Function %v3int
-          %9 = OpConstantNull %v3int
-       %uint = OpTypeInt 32 0
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_v3int Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %9
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %15 = OpLoad %v3int %v None
-         %16 = OpLoad %uint %offset_1 None
-         %17 = OpLoad %uint %count None
-         %18 = OpExtInst %uint %19 UMin %16 %uint_32
-         %21 = OpISub %uint %uint_32 %18
-         %22 = OpExtInst %uint %19 UMin %17 %21
-       %x_15 = OpBitFieldSExtract %v3int %15 %18 %22
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %25 = OpLabel
-         %26 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 0cfed9b..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-uint3 tint_extract_bits(uint3 v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  uint3 shl_result = ((shl < 32u) ? (v << uint3((shl).xxx)) : (0u).xxx);
-  return ((shr < 32u) ? (shl_result >> uint3((shr).xxx)) : ((shl_result >> (31u).xxx) >> (1u).xxx));
-}
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 x_14 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 0cfed9b..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-uint3 tint_extract_bits(uint3 v, uint offset, uint count) {
-  uint s = min(offset, 32u);
-  uint e = min(32u, (s + count));
-  uint shl = (32u - e);
-  uint shr = (shl + s);
-  uint3 shl_result = ((shl < 32u) ? (v << uint3((shl).xxx)) : (0u).xxx);
-  return ((shr < 32u) ? (shl_result >> uint3((shr).xxx)) : ((shl_result >> (31u).xxx) >> (1u).xxx));
-}
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 x_14 = tint_extract_bits(v, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.glsl b/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.glsl
deleted file mode 100644
index ffdc93a..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,16 +0,0 @@
-#version 310 es
-
-void f_1() {
-  uvec3 v = uvec3(0u);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uvec3 v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = min(count, (32u - v_2));
-  int v_4 = int(v_2);
-  uvec3 x_14 = bitfieldExtract(v_1, v_4, int(v_3));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index e6db29b..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  uint3 v_4 = (((v_3 < 32u)) ? ((v_1 << uint3((v_3).xxx))) : ((0u).xxx));
-  uint3 x_14 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint3(((v_3 + v_2)).xxx))) : (((v_4 >> (31u).xxx) >> (1u).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index e6db29b..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 v_1 = v;
-  uint v_2 = min(offset_1, 32u);
-  uint v_3 = (32u - min(32u, (v_2 + count)));
-  uint3 v_4 = (((v_3 < 32u)) ? ((v_1 << uint3((v_3).xxx))) : ((0u).xxx));
-  uint3 x_14 = ((((v_3 + v_2) < 32u)) ? ((v_4 >> uint3(((v_3 + v_2)).xxx))) : (((v_4 >> (31u).xxx) >> (1u).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.msl b/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.msl
deleted file mode 100644
index a43886d..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.msl
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  uint3 v = uint3(0u);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  uint3 const x_14 = extract_bits(v, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.spvasm b/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.spvasm
deleted file mode 100644
index 5669e43..0000000
--- a/test/tint/unittest/reader/extractBits/vec3/u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,47 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 26
-; Schema: 0
-               OpCapability Shader
-         %18 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_14 "x_14"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-       %uint = OpTypeInt 32 0
-     %v3uint = OpTypeVector %uint 3
-%_ptr_Function_v3uint = OpTypePointer Function %v3uint
-          %9 = OpConstantNull %v3uint
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_v3uint Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %9
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %14 = OpLoad %v3uint %v None
-         %15 = OpLoad %uint %offset_1 None
-         %16 = OpLoad %uint %count None
-         %17 = OpExtInst %uint %18 UMin %15 %uint_32
-         %20 = OpISub %uint %uint_32 %17
-         %21 = OpExtInst %uint %18 UMin %16 %20
-       %x_14 = OpBitFieldUExtract %v3uint %14 %17 %21
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %24 = OpLabel
-         %25 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index eaaf43c..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-int tint_insert_bits(int v, int n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << offset) : 0) & int(mask)) | (v & int(~(mask))));
-}
-
-void f_1() {
-  int v = 0;
-  int n = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int x_15 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index eaaf43c..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-int tint_insert_bits(int v, int n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << offset) : 0) & int(mask)) | (v & int(~(mask))));
-}
-
-void f_1() {
-  int v = 0;
-  int n = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int x_15 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.glsl b/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.glsl
deleted file mode 100644
index b82b0a1..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,18 +0,0 @@
-#version 310 es
-
-void f_1() {
-  int v = 0;
-  int n = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int v_1 = v;
-  int v_2 = n;
-  uint v_3 = min(offset_1, 32u);
-  uint v_4 = min(count, (32u - v_3));
-  int v_5 = int(v_3);
-  int x_15 = bitfieldInsert(v_1, v_2, v_5, int(v_4));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 77dfe45..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  int v = int(0);
-  int n = int(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int v_1 = v;
-  int v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  int v_7 = (((v_3 < 32u)) ? ((v_2 << uint(v_3))) : (int(0)));
-  int v_8 = (v_7 & int(v_6));
-  int x_15 = (v_8 | (v_1 & int(~(v_6))));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 77dfe45..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  int v = int(0);
-  int n = int(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int v_1 = v;
-  int v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  int v_7 = (((v_3 < 32u)) ? ((v_2 << uint(v_3))) : (int(0)));
-  int v_8 = (v_7 & int(v_6));
-  int x_15 = (v_8 | (v_1 & int(~(v_6))));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.msl b/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.msl
deleted file mode 100644
index 0097341..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  int v = 0;
-  int n = 0;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  int const x_15 = insert_bits(v, n, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.spvasm b/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.spvasm
deleted file mode 100644
index 4fa13a0..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,51 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-         %20 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %n "n"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_15 "x_15"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %uint = OpTypeInt 32 0
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_int Function
-          %n = OpVariable %_ptr_Function_int Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %int_0
-               OpStore %n %int_0
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %15 = OpLoad %int %v None
-         %16 = OpLoad %int %n None
-         %17 = OpLoad %uint %offset_1 None
-         %18 = OpLoad %uint %count None
-         %19 = OpExtInst %uint %20 UMin %17 %uint_32
-         %22 = OpISub %uint %uint_32 %19
-         %23 = OpExtInst %uint %20 UMin %18 %22
-       %x_15 = OpBitFieldInsert %int %15 %16 %19 %23
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 638e0fb..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << offset) : 0u) & mask) | (v & ~(mask)));
-}
-
-void f_1() {
-  uint v = 0u;
-  uint n = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint x_12 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 638e0fb..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << offset) : 0u) & mask) | (v & ~(mask)));
-}
-
-void f_1() {
-  uint v = 0u;
-  uint n = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint x_12 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.glsl b/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.glsl
deleted file mode 100644
index 4c0bc16..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,18 +0,0 @@
-#version 310 es
-
-void f_1() {
-  uint v = 0u;
-  uint n = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint v_1 = v;
-  uint v_2 = n;
-  uint v_3 = min(offset_1, 32u);
-  uint v_4 = min(count, (32u - v_3));
-  int v_5 = int(v_3);
-  uint x_12 = bitfieldInsert(v_1, v_2, v_5, int(v_4));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 20023a2..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  uint v = 0u;
-  uint n = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint v_1 = v;
-  uint v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  uint v_7 = (((v_3 < 32u)) ? ((v_2 << uint(v_3))) : (0u));
-  uint v_8 = (v_7 & uint(v_6));
-  uint x_12 = (v_8 | (v_1 & uint(~(v_6))));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 20023a2..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  uint v = 0u;
-  uint n = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint v_1 = v;
-  uint v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  uint v_7 = (((v_3 < 32u)) ? ((v_2 << uint(v_3))) : (0u));
-  uint v_8 = (v_7 & uint(v_6));
-  uint x_12 = (v_8 | (v_1 & uint(~(v_6))));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.msl b/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.msl
deleted file mode 100644
index 0cacf62..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.msl
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  uint v = 0u;
-  uint n = 0u;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  uint const x_12 = insert_bits(v, n, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.spvasm b/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.spvasm
deleted file mode 100644
index beebf01..0000000
--- a/test/tint/unittest/reader/insertBits/scalar/u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,48 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-         %17 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %n "n"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_12 "x_12"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-       %uint = OpTypeInt 32 0
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_uint Function
-          %n = OpVariable %_ptr_Function_uint Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %uint_0
-               OpStore %n %uint_0
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %12 = OpLoad %uint %v None
-         %13 = OpLoad %uint %n None
-         %14 = OpLoad %uint %offset_1 None
-         %15 = OpLoad %uint %count None
-         %16 = OpExtInst %uint %17 UMin %14 %uint_32
-         %19 = OpISub %uint %uint_32 %16
-         %20 = OpExtInst %uint %17 UMin %15 %19
-       %x_12 = OpBitFieldInsert %uint %12 %13 %16 %20
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 9ed5b7d..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-int3 tint_insert_bits(int3 v, int3 n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << uint3((offset).xxx)) : (0).xxx) & int3((int(mask)).xxx)) | (v & int3((int(~(mask))).xxx)));
-}
-
-void f_1() {
-  int3 v = (0).xxx;
-  int3 n = (0).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 x_16 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 9ed5b7d..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-int3 tint_insert_bits(int3 v, int3 n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << uint3((offset).xxx)) : (0).xxx) & int3((int(mask)).xxx)) | (v & int3((int(~(mask))).xxx)));
-}
-
-void f_1() {
-  int3 v = (0).xxx;
-  int3 n = (0).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 x_16 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.glsl b/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.glsl
deleted file mode 100644
index e1aa777..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.glsl
+++ /dev/null
@@ -1,18 +0,0 @@
-#version 310 es
-
-void f_1() {
-  ivec3 v = ivec3(0);
-  ivec3 n = ivec3(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  ivec3 v_1 = v;
-  ivec3 v_2 = n;
-  uint v_3 = min(offset_1, 32u);
-  uint v_4 = min(count, (32u - v_3));
-  int v_5 = int(v_3);
-  ivec3 x_16 = bitfieldInsert(v_1, v_2, v_5, int(v_4));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 452584f..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  int3 v = (int(0)).xxx;
-  int3 n = (int(0)).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 v_1 = v;
-  int3 v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  int3 v_7 = (((v_3 < 32u)) ? ((v_2 << uint3((v_3).xxx))) : ((int(0)).xxx));
-  int3 v_8 = (v_7 & int3((v_6).xxx));
-  int3 x_16 = (v_8 | (v_1 & int3((~(v_6)).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 452584f..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  int3 v = (int(0)).xxx;
-  int3 n = (int(0)).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  int3 v_1 = v;
-  int3 v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  int3 v_7 = (((v_3 < 32u)) ? ((v_2 << uint3((v_3).xxx))) : ((int(0)).xxx));
-  int3 v_8 = (v_7 & int3((v_6).xxx));
-  int3 x_16 = (v_8 | (v_1 & int3((~(v_6)).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.msl b/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.msl
deleted file mode 100644
index e952c38..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.msl
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  int3 v = int3(0);
-  int3 n = int3(0);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  int3 const x_16 = insert_bits(v, n, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.spvasm b/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.spvasm
deleted file mode 100644
index 725ce00..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/i32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,52 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 29
-; Schema: 0
-               OpCapability Shader
-         %21 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %n "n"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_16 "x_16"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-      %v3int = OpTypeVector %int 3
-%_ptr_Function_v3int = OpTypePointer Function %v3int
-          %9 = OpConstantNull %v3int
-       %uint = OpTypeInt 32 0
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_v3int Function
-          %n = OpVariable %_ptr_Function_v3int Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %9
-               OpStore %n %9
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %16 = OpLoad %v3int %v None
-         %17 = OpLoad %v3int %n None
-         %18 = OpLoad %uint %offset_1 None
-         %19 = OpLoad %uint %count None
-         %20 = OpExtInst %uint %21 UMin %18 %uint_32
-         %23 = OpISub %uint %uint_32 %20
-         %24 = OpExtInst %uint %21 UMin %19 %23
-       %x_16 = OpBitFieldInsert %v3int %16 %17 %20 %24
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %27 = OpLabel
-         %28 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.dxc.hlsl
deleted file mode 100644
index e5b479c..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-uint3 tint_insert_bits(uint3 v, uint3 n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << uint3((offset).xxx)) : (0u).xxx) & uint3((mask).xxx)) | (v & uint3((~(mask)).xxx)));
-}
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint3 n = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 x_15 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.fxc.hlsl
deleted file mode 100644
index e5b479c..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,20 +0,0 @@
-uint3 tint_insert_bits(uint3 v, uint3 n, uint offset, uint count) {
-  uint e = (offset + count);
-  uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
-  return ((((offset < 32u) ? (n << uint3((offset).xxx)) : (0u).xxx) & uint3((mask).xxx)) | (v & uint3((~(mask)).xxx)));
-}
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint3 n = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 x_15 = tint_insert_bits(v, n, offset_1, count);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.glsl b/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.glsl
deleted file mode 100644
index a03f73c..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.glsl
+++ /dev/null
@@ -1,18 +0,0 @@
-#version 310 es
-
-void f_1() {
-  uvec3 v = uvec3(0u);
-  uvec3 n = uvec3(0u);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uvec3 v_1 = v;
-  uvec3 v_2 = n;
-  uint v_3 = min(offset_1, 32u);
-  uint v_4 = min(count, (32u - v_3));
-  int v_5 = int(v_3);
-  uvec3 x_15 = bitfieldInsert(v_1, v_2, v_5, int(v_4));
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 674cc6b..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint3 n = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 v_1 = v;
-  uint3 v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  uint3 v_7 = (((v_3 < 32u)) ? ((v_2 << uint3((v_3).xxx))) : ((0u).xxx));
-  uint3 v_8 = (v_7 & uint3((v_6).xxx));
-  uint3 x_15 = (v_8 | (v_1 & uint3((~(v_6)).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 674cc6b..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-void f_1() {
-  uint3 v = (0u).xxx;
-  uint3 n = (0u).xxx;
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint3 v_1 = v;
-  uint3 v_2 = n;
-  uint v_3 = offset_1;
-  uint v_4 = (v_3 + count);
-  uint v_5 = (((v_3 < 32u)) ? ((1u << v_3)) : (0u));
-  uint v_6 = ((v_5 - 1u) ^ ((((v_4 < 32u)) ? ((1u << v_4)) : (0u)) - 1u));
-  uint3 v_7 = (((v_3 < 32u)) ? ((v_2 << uint3((v_3).xxx))) : ((0u).xxx));
-  uint3 v_8 = (v_7 & uint3((v_6).xxx));
-  uint3 x_15 = (v_8 | (v_1 & uint3((~(v_6)).xxx)));
-}
-
-[numthreads(1, 1, 1)]
-void f() {
-  f_1();
-}
-
diff --git a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.msl b/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.msl
deleted file mode 100644
index 673bbae..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.msl
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void f_1() {
-  uint3 v = uint3(0u);
-  uint3 n = uint3(0u);
-  uint offset_1 = 0u;
-  uint count = 0u;
-  uint const v_1 = min(offset_1, 32u);
-  uint3 const x_15 = insert_bits(v, n, v_1, min(count, (32u - v_1)));
-}
-
-kernel void f() {
-  f_1();
-}
diff --git a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.spvasm b/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.spvasm
deleted file mode 100644
index f385ac4..0000000
--- a/test/tint/unittest/reader/insertBits/vec3/u32.spvasm.expected.spvasm
+++ /dev/null
@@ -1,51 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 28
-; Schema: 0
-               OpCapability Shader
-         %20 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %f "f"
-               OpExecutionMode %f LocalSize 1 1 1
-               OpName %f_1 "f_1"
-               OpName %v "v"
-               OpName %n "n"
-               OpName %offset_1 "offset_1"
-               OpName %count "count"
-               OpName %x_15 "x_15"
-               OpName %f "f"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-       %uint = OpTypeInt 32 0
-     %v3uint = OpTypeVector %uint 3
-%_ptr_Function_v3uint = OpTypePointer Function %v3uint
-          %9 = OpConstantNull %v3uint
-%_ptr_Function_uint = OpTypePointer Function %uint
-     %uint_0 = OpConstant %uint 0
-    %uint_32 = OpConstant %uint 32
-        %f_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %v = OpVariable %_ptr_Function_v3uint Function
-          %n = OpVariable %_ptr_Function_v3uint Function
-   %offset_1 = OpVariable %_ptr_Function_uint Function
-      %count = OpVariable %_ptr_Function_uint Function
-               OpStore %v %9
-               OpStore %n %9
-               OpStore %offset_1 %uint_0
-               OpStore %count %uint_0
-         %15 = OpLoad %v3uint %v None
-         %16 = OpLoad %v3uint %n None
-         %17 = OpLoad %uint %offset_1 None
-         %18 = OpLoad %uint %count None
-         %19 = OpExtInst %uint %20 UMin %17 %uint_32
-         %22 = OpISub %uint %uint_32 %19
-         %23 = OpExtInst %uint %20 UMin %18 %22
-       %x_15 = OpBitFieldInsert %v3uint %15 %16 %19 %23
-               OpReturn
-               OpFunctionEnd
-          %f = OpFunction %void None %3
-         %26 = OpLabel
-         %27 = OpFunctionCall %void %f_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/radians.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/radians.spvasm.expected.dxc.hlsl
deleted file mode 100644
index ba93271..0000000
--- a/test/tint/unittest/reader/radians.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-float tint_radians(float param_0) {
-  return param_0 * 0.01745329251994329547;
-}
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = tint_radians(a);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/radians.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/radians.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ba93271..0000000
--- a/test/tint/unittest/reader/radians.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,17 +0,0 @@
-float tint_radians(float param_0) {
-  return param_0 * 0.01745329251994329547;
-}
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = tint_radians(a);
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/radians.spvasm.expected.glsl b/test/tint/unittest/reader/radians.spvasm.expected.glsl
deleted file mode 100644
index 18f361f..0000000
--- a/test/tint/unittest/reader/radians.spvasm.expected.glsl
+++ /dev/null
@@ -1,12 +0,0 @@
-#version 310 es
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = radians(a);
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  main_1();
-}
diff --git a/test/tint/unittest/reader/radians.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/radians.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 5f718a9..0000000
--- a/test/tint/unittest/reader/radians.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = (a * 0.01745329238474369049f);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/unittest/reader/radians.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/radians.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 5f718a9..0000000
--- a/test/tint/unittest/reader/radians.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = (a * 0.01745329238474369049f);
-}
-
-[numthreads(1, 1, 1)]
-void main() {
-  main_1();
-}
-
diff --git a/test/tint/unittest/reader/radians.spvasm.expected.msl b/test/tint/unittest/reader/radians.spvasm.expected.msl
deleted file mode 100644
index f779706..0000000
--- a/test/tint/unittest/reader/radians.spvasm.expected.msl
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  a = 42.0f;
-  b = (a * 0.01745329238474369049f);
-}
-
-kernel void v() {
-  main_1();
-}
diff --git a/test/tint/unittest/reader/radians.spvasm.expected.spvasm b/test/tint/unittest/reader/radians.spvasm.expected.spvasm
deleted file mode 100644
index fce4a97c..0000000
--- a/test/tint/unittest/reader/radians.spvasm.expected.spvasm
+++ /dev/null
@@ -1,35 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 17
-; Schema: 0
-               OpCapability Shader
-         %13 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %main "main"
-               OpExecutionMode %main LocalSize 1 1 1
-               OpName %main_1 "main_1"
-               OpName %a "a"
-               OpName %b "b"
-               OpName %main "main"
-       %void = OpTypeVoid
-          %3 = OpTypeFunction %void
-      %float = OpTypeFloat 32
-%_ptr_Function_float = OpTypePointer Function %float
-          %8 = OpConstantNull %float
-   %float_42 = OpConstant %float 42
-     %main_1 = OpFunction %void None %3
-          %4 = OpLabel
-          %a = OpVariable %_ptr_Function_float Function %8
-          %b = OpVariable %_ptr_Function_float Function %8
-               OpStore %a %float_42 None
-         %11 = OpLoad %float %a None
-         %12 = OpExtInst %float %13 Radians %11
-               OpStore %b %12 None
-               OpReturn
-               OpFunctionEnd
-       %main = OpFunction %void None %3
-         %15 = OpLabel
-         %16 = OpFunctionCall %void %main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 44eef83..0000000
--- a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// vertex_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-
-void textureDimensions_f60bdb() {
-  int2 res = (0).xx;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int2(tint_tmp.xy);
-  return;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-  return;
-}
-
-void vertex_main_1() {
-  textureDimensions_f60bdb();
-  tint_symbol_2((0.0f).xxxx);
-  return;
-}
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-struct tint_symbol_3 {
-  float4 tint_symbol_1_1 : SV_Position;
-};
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out tint_symbol_4 = {tint_symbol_1};
-  return tint_symbol_4;
-}
-
-tint_symbol_3 vertex_main() {
-  vertex_main_out inner_result = vertex_main_inner();
-  tint_symbol_3 wrapper_result = (tint_symbol_3)0;
-  wrapper_result.tint_symbol_1_1 = inner_result.tint_symbol_1_1;
-  return wrapper_result;
-}
-//
-// fragment_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureDimensions_f60bdb() {
-  int2 res = (0).xx;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int2(tint_tmp.xy);
-  return;
-}
-
-void fragment_main_1() {
-  textureDimensions_f60bdb();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureDimensions_f60bdb() {
-  int2 res = (0).xx;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int2(tint_tmp.xy);
-  return;
-}
-
-void compute_main_1() {
-  textureDimensions_f60bdb();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 44eef83..0000000
--- a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// vertex_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-
-void textureDimensions_f60bdb() {
-  int2 res = (0).xx;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int2(tint_tmp.xy);
-  return;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-  return;
-}
-
-void vertex_main_1() {
-  textureDimensions_f60bdb();
-  tint_symbol_2((0.0f).xxxx);
-  return;
-}
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-struct tint_symbol_3 {
-  float4 tint_symbol_1_1 : SV_Position;
-};
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out tint_symbol_4 = {tint_symbol_1};
-  return tint_symbol_4;
-}
-
-tint_symbol_3 vertex_main() {
-  vertex_main_out inner_result = vertex_main_inner();
-  tint_symbol_3 wrapper_result = (tint_symbol_3)0;
-  wrapper_result.tint_symbol_1_1 = inner_result.tint_symbol_1_1;
-  return wrapper_result;
-}
-//
-// fragment_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureDimensions_f60bdb() {
-  int2 res = (0).xx;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int2(tint_tmp.xy);
-  return;
-}
-
-void fragment_main_1() {
-  textureDimensions_f60bdb();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureDimensions_f60bdb() {
-  int2 res = (0).xx;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int2(tint_tmp.xy);
-  return;
-}
-
-void compute_main_1() {
-  textureDimensions_f60bdb();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.glsl b/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.glsl
deleted file mode 100644
index bd840a7..0000000
--- a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.glsl
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// vertex_main
-//
-#version 310 es
-
-
-struct vertex_main_out {
-  vec4 tint_symbol_1_1;
-};
-
-vec4 tint_symbol_1 = vec4(0.0f);
-uniform highp sampler2DMS v_arg_0;
-void textureDimensions_f60bdb() {
-  ivec2 res = ivec2(0);
-  res = ivec2(uvec2(textureSize(v_arg_0)));
-}
-void tint_symbol_2(vec4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-void vertex_main_1() {
-  textureDimensions_f60bdb();
-  tint_symbol_2(vec4(0.0f));
-}
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  return vertex_main_out(tint_symbol_1);
-}
-void main() {
-  vec4 v = vertex_main_inner().tint_symbol_1_1;
-  gl_Position = vec4(v.x, -(v.y), ((2.0f * v.z) - v.w), v.w);
-  gl_PointSize = 1.0f;
-}
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-uniform highp sampler2DMS f_arg_0;
-void textureDimensions_f60bdb() {
-  ivec2 res = ivec2(0);
-  res = ivec2(uvec2(textureSize(f_arg_0)));
-}
-void fragment_main_1() {
-  textureDimensions_f60bdb();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-uniform highp sampler2DMS arg_0;
-void textureDimensions_f60bdb() {
-  ivec2 res = ivec2(0);
-  res = ivec2(uvec2(textureSize(arg_0)));
-}
-void compute_main_1() {
-  textureDimensions_f60bdb();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index d5bfefa..0000000
--- a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// vertex_main
-//
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 : SV_Position;
-};
-
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-void textureDimensions_f60bdb() {
-  int2 res = (int(0)).xx;
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int2(v.xy);
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-
-void vertex_main_1() {
-  textureDimensions_f60bdb();
-  tint_symbol_2((0.0f).xxxx);
-}
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out v_1 = {tint_symbol_1};
-  return v_1;
-}
-
-vertex_main_outputs vertex_main() {
-  vertex_main_out v_2 = vertex_main_inner();
-  vertex_main_outputs v_3 = {v_2.tint_symbol_1_1};
-  return v_3;
-}
-
-//
-// fragment_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureDimensions_f60bdb() {
-  int2 res = (int(0)).xx;
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int2(v.xy);
-}
-
-void fragment_main_1() {
-  textureDimensions_f60bdb();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureDimensions_f60bdb() {
-  int2 res = (int(0)).xx;
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int2(v.xy);
-}
-
-void compute_main_1() {
-  textureDimensions_f60bdb();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index d5bfefa..0000000
--- a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// vertex_main
-//
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 : SV_Position;
-};
-
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-void textureDimensions_f60bdb() {
-  int2 res = (int(0)).xx;
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int2(v.xy);
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-
-void vertex_main_1() {
-  textureDimensions_f60bdb();
-  tint_symbol_2((0.0f).xxxx);
-}
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out v_1 = {tint_symbol_1};
-  return v_1;
-}
-
-vertex_main_outputs vertex_main() {
-  vertex_main_out v_2 = vertex_main_inner();
-  vertex_main_outputs v_3 = {v_2.tint_symbol_1_1};
-  return v_3;
-}
-
-//
-// fragment_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureDimensions_f60bdb() {
-  int2 res = (int(0)).xx;
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int2(v.xy);
-}
-
-void fragment_main_1() {
-  textureDimensions_f60bdb();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureDimensions_f60bdb() {
-  int2 res = (int(0)).xx;
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int2(v.xy);
-}
-
-void compute_main_1() {
-  textureDimensions_f60bdb();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.msl b/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.msl
deleted file mode 100644
index e9a96ac..0000000
--- a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.msl
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// vertex_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-  thread float4* tint_symbol_1;
-};
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 [[position]];
-};
-
-void textureDimensions_f60bdb(tint_module_vars_struct tint_module_vars) {
-  int2 res = int2(0);
-  res = int2(uint2(tint_module_vars.arg_0.get_width(), tint_module_vars.arg_0.get_height()));
-}
-
-void tint_symbol_2(float4 tint_symbol, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.tint_symbol_1) = tint_symbol;
-}
-
-void vertex_main_1(tint_module_vars_struct tint_module_vars) {
-  textureDimensions_f60bdb(tint_module_vars);
-  tint_symbol_2(float4(0.0f), tint_module_vars);
-}
-
-vertex_main_out vertex_main_inner(tint_module_vars_struct tint_module_vars) {
-  vertex_main_1(tint_module_vars);
-  return vertex_main_out{.tint_symbol_1_1=(*tint_module_vars.tint_symbol_1)};
-}
-
-vertex vertex_main_outputs vertex_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  thread float4 tint_symbol_1 = float4(0.0f);
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .tint_symbol_1=(&tint_symbol_1)};
-  vertex_main_outputs tint_wrapper_result = {};
-  tint_wrapper_result.vertex_main_out_tint_symbol_1_1 = vertex_main_inner(tint_module_vars).tint_symbol_1_1;
-  return tint_wrapper_result;
-}
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-};
-
-void textureDimensions_f60bdb(tint_module_vars_struct tint_module_vars) {
-  int2 res = int2(0);
-  res = int2(uint2(tint_module_vars.arg_0.get_width(), tint_module_vars.arg_0.get_height()));
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  textureDimensions_f60bdb(tint_module_vars);
-}
-
-fragment void fragment_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-};
-
-void textureDimensions_f60bdb(tint_module_vars_struct tint_module_vars) {
-  int2 res = int2(0);
-  res = int2(uint2(tint_module_vars.arg_0.get_width(), tint_module_vars.arg_0.get_height()));
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  textureDimensions_f60bdb(tint_module_vars);
-}
-
-kernel void compute_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.spvasm b/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.spvasm
deleted file mode 100644
index e855c5f..0000000
--- a/test/tint/unittest/reader/textureDimensions/depth_ms.spvasm.expected.spvasm
+++ /dev/null
@@ -1,194 +0,0 @@
-;
-; vertex_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 47
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main___point_size_Output
-               OpName %arg_0 "arg_0"
-               OpName %tint_symbol_1 "tint_symbol_1"
-               OpName %vertex_main_position_Output "vertex_main_position_Output"
-               OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
-               OpName %textureDimensions_f60bdb "textureDimensions_f60bdb"
-               OpName %res "res"
-               OpName %tint_symbol_2 "tint_symbol_2"
-               OpName %tint_symbol "tint_symbol"
-               OpName %vertex_main_1 "vertex_main_1"
-               OpName %vertex_main_inner "vertex_main_inner"
-               OpMemberName %vertex_main_out 0 "tint_symbol_1_1"
-               OpName %vertex_main_out "vertex_main_out"
-               OpName %vertex_main "vertex_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-               OpDecorate %vertex_main_position_Output BuiltIn Position
-               OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-    %v4float = OpTypeVector %float 4
-%_ptr_Private_v4float = OpTypePointer Private %v4float
-          %8 = OpConstantNull %v4float
-%tint_symbol_1 = OpVariable %_ptr_Private_v4float Private %8
-%_ptr_Output_v4float = OpTypePointer Output %v4float
-%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
-%_ptr_Output_float = OpTypePointer Output %float
-%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
-       %void = OpTypeVoid
-         %15 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-      %v2int = OpTypeVector %int 2
-%_ptr_Function_v2int = OpTypePointer Function %v2int
-         %21 = OpConstantNull %v2int
-       %uint = OpTypeInt 32 0
-     %v2uint = OpTypeVector %uint 2
-         %29 = OpTypeFunction %void %v4float
-%vertex_main_out = OpTypeStruct %v4float
-         %37 = OpTypeFunction %vertex_main_out
-    %float_1 = OpConstant %float 1
-%textureDimensions_f60bdb = OpFunction %void None %15
-         %16 = OpLabel
-        %res = OpVariable %_ptr_Function_v2int Function
-               OpStore %res %21
-         %22 = OpLoad %3 %arg_0 None
-         %23 = OpImageQuerySize %v2uint %22
-         %26 = OpBitcast %v2int %23
-               OpStore %res %26 None
-               OpReturn
-               OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %29
-%tint_symbol = OpFunctionParameter %v4float
-         %30 = OpLabel
-               OpStore %tint_symbol_1 %tint_symbol None
-               OpReturn
-               OpFunctionEnd
-%vertex_main_1 = OpFunction %void None %15
-         %32 = OpLabel
-         %33 = OpFunctionCall %void %textureDimensions_f60bdb
-         %34 = OpFunctionCall %void %tint_symbol_2 %8
-               OpReturn
-               OpFunctionEnd
-%vertex_main_inner = OpFunction %vertex_main_out None %37
-         %38 = OpLabel
-         %39 = OpFunctionCall %void %vertex_main_1
-         %40 = OpLoad %v4float %tint_symbol_1 None
-         %41 = OpCompositeConstruct %vertex_main_out %40
-               OpReturnValue %41
-               OpFunctionEnd
-%vertex_main = OpFunction %void None %15
-         %43 = OpLabel
-         %44 = OpFunctionCall %vertex_main_out %vertex_main_inner
-         %45 = OpCompositeExtract %v4float %44 0
-               OpStore %vertex_main_position_Output %45 None
-               OpStore %vertex_main___point_size_Output %float_1 None
-               OpReturn
-               OpFunctionEnd
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpName %arg_0 "arg_0"
-               OpName %textureDimensions_f60bdb "textureDimensions_f60bdb"
-               OpName %res "res"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-      %v2int = OpTypeVector %int 2
-%_ptr_Function_v2int = OpTypePointer Function %v2int
-         %13 = OpConstantNull %v2int
-       %uint = OpTypeInt 32 0
-     %v2uint = OpTypeVector %uint 2
-%textureDimensions_f60bdb = OpFunction %void None %7
-          %8 = OpLabel
-        %res = OpVariable %_ptr_Function_v2int Function
-               OpStore %res %13
-         %14 = OpLoad %3 %arg_0 None
-         %15 = OpImageQuerySize %v2uint %14
-         %18 = OpBitcast %v2int %15
-               OpStore %res %18 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %7
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %textureDimensions_f60bdb
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %7
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 25
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %arg_0 "arg_0"
-               OpName %textureDimensions_f60bdb "textureDimensions_f60bdb"
-               OpName %res "res"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-      %v2int = OpTypeVector %int 2
-%_ptr_Function_v2int = OpTypePointer Function %v2int
-         %13 = OpConstantNull %v2int
-       %uint = OpTypeInt 32 0
-     %v2uint = OpTypeVector %uint 2
-%textureDimensions_f60bdb = OpFunction %void None %7
-          %8 = OpLabel
-        %res = OpVariable %_ptr_Function_v2int Function
-               OpStore %res %13
-         %14 = OpLoad %3 %arg_0 None
-         %15 = OpImageQuerySize %v2uint %14
-         %18 = OpBitcast %v2int %15
-               OpStore %res %18 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %7
-         %20 = OpLabel
-         %21 = OpFunctionCall %void %textureDimensions_f60bdb
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %7
-         %23 = OpLabel
-         %24 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 054b88d..0000000
--- a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// vertex_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load(int3(0, 0, 0), 1).x, 0.0f, 0.0f, 0.0f).x;
-  return;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-  return;
-}
-
-void vertex_main_1() {
-  textureLoad_6273b1();
-  tint_symbol_2((0.0f).xxxx);
-  return;
-}
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-struct tint_symbol_3 {
-  float4 tint_symbol_1_1 : SV_Position;
-};
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out tint_symbol_4 = {tint_symbol_1};
-  return tint_symbol_4;
-}
-
-tint_symbol_3 vertex_main() {
-  vertex_main_out inner_result = vertex_main_inner();
-  tint_symbol_3 wrapper_result = (tint_symbol_3)0;
-  wrapper_result.tint_symbol_1_1 = inner_result.tint_symbol_1_1;
-  return wrapper_result;
-}
-//
-// fragment_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load(int3(0, 0, 0), 1).x, 0.0f, 0.0f, 0.0f).x;
-  return;
-}
-
-void fragment_main_1() {
-  textureLoad_6273b1();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load(int3(0, 0, 0), 1).x, 0.0f, 0.0f, 0.0f).x;
-  return;
-}
-
-void compute_main_1() {
-  textureLoad_6273b1();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 054b88d..0000000
--- a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// vertex_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load(int3(0, 0, 0), 1).x, 0.0f, 0.0f, 0.0f).x;
-  return;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-  return;
-}
-
-void vertex_main_1() {
-  textureLoad_6273b1();
-  tint_symbol_2((0.0f).xxxx);
-  return;
-}
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-struct tint_symbol_3 {
-  float4 tint_symbol_1_1 : SV_Position;
-};
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out tint_symbol_4 = {tint_symbol_1};
-  return tint_symbol_4;
-}
-
-tint_symbol_3 vertex_main() {
-  vertex_main_out inner_result = vertex_main_inner();
-  tint_symbol_3 wrapper_result = (tint_symbol_3)0;
-  wrapper_result.tint_symbol_1_1 = inner_result.tint_symbol_1_1;
-  return wrapper_result;
-}
-//
-// fragment_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load(int3(0, 0, 0), 1).x, 0.0f, 0.0f, 0.0f).x;
-  return;
-}
-
-void fragment_main_1() {
-  textureLoad_6273b1();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load(int3(0, 0, 0), 1).x, 0.0f, 0.0f, 0.0f).x;
-  return;
-}
-
-void compute_main_1() {
-  textureLoad_6273b1();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.glsl b/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.glsl
deleted file mode 100644
index 2a93abf..0000000
--- a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.glsl
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// vertex_main
-//
-#version 310 es
-
-
-struct vertex_main_out {
-  vec4 tint_symbol_1_1;
-};
-
-vec4 tint_symbol_1 = vec4(0.0f);
-uniform highp sampler2DMS v_arg_0;
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  uvec2 v = (uvec2(textureSize(v_arg_0)) - uvec2(1u));
-  res = vec4(texelFetch(v_arg_0, ivec2(min(uvec2(ivec2(0)), v)), 1).x, 0.0f, 0.0f, 0.0f).x;
-}
-void tint_symbol_2(vec4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-void vertex_main_1() {
-  textureLoad_6273b1();
-  tint_symbol_2(vec4(0.0f));
-}
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  return vertex_main_out(tint_symbol_1);
-}
-void main() {
-  vec4 v_1 = vertex_main_inner().tint_symbol_1_1;
-  gl_Position = vec4(v_1.x, -(v_1.y), ((2.0f * v_1.z) - v_1.w), v_1.w);
-  gl_PointSize = 1.0f;
-}
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-uniform highp sampler2DMS f_arg_0;
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  uvec2 v = (uvec2(textureSize(f_arg_0)) - uvec2(1u));
-  res = vec4(texelFetch(f_arg_0, ivec2(min(uvec2(ivec2(0)), v)), 1).x, 0.0f, 0.0f, 0.0f).x;
-}
-void fragment_main_1() {
-  textureLoad_6273b1();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-uniform highp sampler2DMS arg_0;
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  uvec2 v = (uvec2(textureSize(arg_0)) - uvec2(1u));
-  res = vec4(texelFetch(arg_0, ivec2(min(uvec2(ivec2(0)), v)), 1).x, 0.0f, 0.0f, 0.0f).x;
-}
-void compute_main_1() {
-  textureLoad_6273b1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index a81b154..0000000
--- a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// vertex_main
-//
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 : SV_Position;
-};
-
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load((int(0)).xx, int(1)).x, 0.0f, 0.0f, 0.0f).x;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-
-void vertex_main_1() {
-  textureLoad_6273b1();
-  tint_symbol_2((0.0f).xxxx);
-}
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out v = {tint_symbol_1};
-  return v;
-}
-
-vertex_main_outputs vertex_main() {
-  vertex_main_out v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.tint_symbol_1_1};
-  return v_2;
-}
-
-//
-// fragment_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load((int(0)).xx, int(1)).x, 0.0f, 0.0f, 0.0f).x;
-}
-
-void fragment_main_1() {
-  textureLoad_6273b1();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load((int(0)).xx, int(1)).x, 0.0f, 0.0f, 0.0f).x;
-}
-
-void compute_main_1() {
-  textureLoad_6273b1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index a81b154..0000000
--- a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// vertex_main
-//
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 : SV_Position;
-};
-
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load((int(0)).xx, int(1)).x, 0.0f, 0.0f, 0.0f).x;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-
-void vertex_main_1() {
-  textureLoad_6273b1();
-  tint_symbol_2((0.0f).xxxx);
-}
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out v = {tint_symbol_1};
-  return v;
-}
-
-vertex_main_outputs vertex_main() {
-  vertex_main_out v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.tint_symbol_1_1};
-  return v_2;
-}
-
-//
-// fragment_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load((int(0)).xx, int(1)).x, 0.0f, 0.0f, 0.0f).x;
-}
-
-void fragment_main_1() {
-  textureLoad_6273b1();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureLoad_6273b1() {
-  float res = 0.0f;
-  res = float4(arg_0.Load((int(0)).xx, int(1)).x, 0.0f, 0.0f, 0.0f).x;
-}
-
-void compute_main_1() {
-  textureLoad_6273b1();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.msl b/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.msl
deleted file mode 100644
index 5e1a95e..0000000
--- a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.msl
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-// vertex_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-  thread float4* tint_symbol_1;
-};
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 [[position]];
-};
-
-void textureLoad_6273b1(tint_module_vars_struct tint_module_vars) {
-  float res = 0.0f;
-  uint2 const v = (uint2(tint_module_vars.arg_0.get_width(), tint_module_vars.arg_0.get_height()) - uint2(1u));
-  res = float4(tint_module_vars.arg_0.read(min(uint2(int2(0)), v), 1), 0.0f, 0.0f, 0.0f).x;
-}
-
-void tint_symbol_2(float4 tint_symbol, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.tint_symbol_1) = tint_symbol;
-}
-
-void vertex_main_1(tint_module_vars_struct tint_module_vars) {
-  textureLoad_6273b1(tint_module_vars);
-  tint_symbol_2(float4(0.0f), tint_module_vars);
-}
-
-vertex_main_out vertex_main_inner(tint_module_vars_struct tint_module_vars) {
-  vertex_main_1(tint_module_vars);
-  return vertex_main_out{.tint_symbol_1_1=(*tint_module_vars.tint_symbol_1)};
-}
-
-vertex vertex_main_outputs vertex_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  thread float4 tint_symbol_1 = float4(0.0f);
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .tint_symbol_1=(&tint_symbol_1)};
-  vertex_main_outputs tint_wrapper_result = {};
-  tint_wrapper_result.vertex_main_out_tint_symbol_1_1 = vertex_main_inner(tint_module_vars).tint_symbol_1_1;
-  return tint_wrapper_result;
-}
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-};
-
-void textureLoad_6273b1(tint_module_vars_struct tint_module_vars) {
-  float res = 0.0f;
-  uint2 const v = (uint2(tint_module_vars.arg_0.get_width(), tint_module_vars.arg_0.get_height()) - uint2(1u));
-  res = float4(tint_module_vars.arg_0.read(min(uint2(int2(0)), v), 1), 0.0f, 0.0f, 0.0f).x;
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  textureLoad_6273b1(tint_module_vars);
-}
-
-fragment void fragment_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-};
-
-void textureLoad_6273b1(tint_module_vars_struct tint_module_vars) {
-  float res = 0.0f;
-  uint2 const v = (uint2(tint_module_vars.arg_0.get_width(), tint_module_vars.arg_0.get_height()) - uint2(1u));
-  res = float4(tint_module_vars.arg_0.read(min(uint2(int2(0)), v), 1), 0.0f, 0.0f, 0.0f).x;
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  textureLoad_6273b1(tint_module_vars);
-}
-
-kernel void compute_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.spvasm b/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.spvasm
deleted file mode 100644
index aa699de..0000000
--- a/test/tint/unittest/reader/textureLoad/depth_ms.spvasm.expected.spvasm
+++ /dev/null
@@ -1,229 +0,0 @@
-;
-; vertex_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 58
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-         %32 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main___point_size_Output
-               OpName %arg_0 "arg_0"
-               OpName %tint_symbol_1 "tint_symbol_1"
-               OpName %vertex_main_position_Output "vertex_main_position_Output"
-               OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
-               OpName %textureLoad_6273b1 "textureLoad_6273b1"
-               OpName %res "res"
-               OpName %tint_symbol_2 "tint_symbol_2"
-               OpName %tint_symbol "tint_symbol"
-               OpName %vertex_main_1 "vertex_main_1"
-               OpName %vertex_main_inner "vertex_main_inner"
-               OpMemberName %vertex_main_out 0 "tint_symbol_1_1"
-               OpName %vertex_main_out "vertex_main_out"
-               OpName %vertex_main "vertex_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-               OpDecorate %vertex_main_position_Output BuiltIn Position
-               OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-    %v4float = OpTypeVector %float 4
-%_ptr_Private_v4float = OpTypePointer Private %v4float
-          %8 = OpConstantNull %v4float
-%tint_symbol_1 = OpVariable %_ptr_Private_v4float Private %8
-%_ptr_Output_v4float = OpTypePointer Output %v4float
-%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
-%_ptr_Output_float = OpTypePointer Output %float
-%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
-       %void = OpTypeVoid
-         %15 = OpTypeFunction %void
-%_ptr_Function_float = OpTypePointer Function %float
-    %float_0 = OpConstant %float 0
-       %uint = OpTypeInt 32 0
-     %v2uint = OpTypeVector %uint 2
-     %uint_1 = OpConstant %uint 1
-         %25 = OpConstantComposite %v2uint %uint_1 %uint_1
-        %int = OpTypeInt 32 1
-      %v2int = OpTypeVector %int 2
-         %28 = OpConstantNull %v2int
-      %int_1 = OpConstant %int 1
-         %40 = OpTypeFunction %void %v4float
-%vertex_main_out = OpTypeStruct %v4float
-         %48 = OpTypeFunction %vertex_main_out
-    %float_1 = OpConstant %float 1
-%textureLoad_6273b1 = OpFunction %void None %15
-         %16 = OpLabel
-        %res = OpVariable %_ptr_Function_float Function
-               OpStore %res %float_0
-         %20 = OpLoad %3 %arg_0 None
-         %21 = OpImageQuerySize %v2uint %20
-         %24 = OpISub %v2uint %21 %25
-         %27 = OpBitcast %v2uint %28
-         %31 = OpExtInst %v2uint %32 UMin %27 %24
-         %33 = OpImageFetch %v4float %20 %31 Sample %int_1
-         %35 = OpCompositeExtract %float %33 0
-         %36 = OpCompositeConstruct %v4float %35 %float_0 %float_0 %float_0
-         %37 = OpCompositeExtract %float %36 0
-               OpStore %res %37 None
-               OpReturn
-               OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %40
-%tint_symbol = OpFunctionParameter %v4float
-         %41 = OpLabel
-               OpStore %tint_symbol_1 %tint_symbol None
-               OpReturn
-               OpFunctionEnd
-%vertex_main_1 = OpFunction %void None %15
-         %43 = OpLabel
-         %44 = OpFunctionCall %void %textureLoad_6273b1
-         %45 = OpFunctionCall %void %tint_symbol_2 %8
-               OpReturn
-               OpFunctionEnd
-%vertex_main_inner = OpFunction %vertex_main_out None %48
-         %49 = OpLabel
-         %50 = OpFunctionCall %void %vertex_main_1
-         %51 = OpLoad %v4float %tint_symbol_1 None
-         %52 = OpCompositeConstruct %vertex_main_out %51
-               OpReturnValue %52
-               OpFunctionEnd
-%vertex_main = OpFunction %void None %15
-         %54 = OpLabel
-         %55 = OpFunctionCall %vertex_main_out %vertex_main_inner
-         %56 = OpCompositeExtract %v4float %55 0
-               OpStore %vertex_main_position_Output %56 None
-               OpStore %vertex_main___point_size_Output %float_1 None
-               OpReturn
-               OpFunctionEnd
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 37
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-         %24 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpName %arg_0 "arg_0"
-               OpName %textureLoad_6273b1 "textureLoad_6273b1"
-               OpName %res "res"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-%_ptr_Function_float = OpTypePointer Function %float
-    %float_0 = OpConstant %float 0
-       %uint = OpTypeInt 32 0
-     %v2uint = OpTypeVector %uint 2
-     %uint_1 = OpConstant %uint 1
-         %17 = OpConstantComposite %v2uint %uint_1 %uint_1
-        %int = OpTypeInt 32 1
-      %v2int = OpTypeVector %int 2
-         %20 = OpConstantNull %v2int
-    %v4float = OpTypeVector %float 4
-      %int_1 = OpConstant %int 1
-%textureLoad_6273b1 = OpFunction %void None %7
-          %8 = OpLabel
-        %res = OpVariable %_ptr_Function_float Function
-               OpStore %res %float_0
-         %12 = OpLoad %3 %arg_0 None
-         %13 = OpImageQuerySize %v2uint %12
-         %16 = OpISub %v2uint %13 %17
-         %19 = OpBitcast %v2uint %20
-         %23 = OpExtInst %v2uint %24 UMin %19 %16
-         %25 = OpImageFetch %v4float %12 %23 Sample %int_1
-         %28 = OpCompositeExtract %float %25 0
-         %29 = OpCompositeConstruct %v4float %28 %float_0 %float_0 %float_0
-         %30 = OpCompositeExtract %float %29 0
-               OpStore %res %30 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %7
-         %32 = OpLabel
-         %33 = OpFunctionCall %void %textureLoad_6273b1
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %7
-         %35 = OpLabel
-         %36 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 37
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-         %24 = OpExtInstImport "GLSL.std.450"
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %arg_0 "arg_0"
-               OpName %textureLoad_6273b1 "textureLoad_6273b1"
-               OpName %res "res"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-%_ptr_Function_float = OpTypePointer Function %float
-    %float_0 = OpConstant %float 0
-       %uint = OpTypeInt 32 0
-     %v2uint = OpTypeVector %uint 2
-     %uint_1 = OpConstant %uint 1
-         %17 = OpConstantComposite %v2uint %uint_1 %uint_1
-        %int = OpTypeInt 32 1
-      %v2int = OpTypeVector %int 2
-         %20 = OpConstantNull %v2int
-    %v4float = OpTypeVector %float 4
-      %int_1 = OpConstant %int 1
-%textureLoad_6273b1 = OpFunction %void None %7
-          %8 = OpLabel
-        %res = OpVariable %_ptr_Function_float Function
-               OpStore %res %float_0
-         %12 = OpLoad %3 %arg_0 None
-         %13 = OpImageQuerySize %v2uint %12
-         %16 = OpISub %v2uint %13 %17
-         %19 = OpBitcast %v2uint %20
-         %23 = OpExtInst %v2uint %24 UMin %19 %16
-         %25 = OpImageFetch %v4float %12 %23 Sample %int_1
-         %28 = OpCompositeExtract %float %25 0
-         %29 = OpCompositeConstruct %v4float %28 %float_0 %float_0 %float_0
-         %30 = OpCompositeExtract %float %29 0
-               OpStore %res %30 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %7
-         %32 = OpLabel
-         %33 = OpFunctionCall %void %textureLoad_6273b1
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %7
-         %35 = OpLabel
-         %36 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.dxc.hlsl
deleted file mode 100644
index 4d67afa..0000000
--- a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// vertex_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int(tint_tmp.z);
-  return;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-  return;
-}
-
-void vertex_main_1() {
-  textureNumSamples_a3c8a0();
-  tint_symbol_2((0.0f).xxxx);
-  return;
-}
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-struct tint_symbol_3 {
-  float4 tint_symbol_1_1 : SV_Position;
-};
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out tint_symbol_4 = {tint_symbol_1};
-  return tint_symbol_4;
-}
-
-tint_symbol_3 vertex_main() {
-  vertex_main_out inner_result = vertex_main_inner();
-  tint_symbol_3 wrapper_result = (tint_symbol_3)0;
-  wrapper_result.tint_symbol_1_1 = inner_result.tint_symbol_1_1;
-  return wrapper_result;
-}
-//
-// fragment_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int(tint_tmp.z);
-  return;
-}
-
-void fragment_main_1() {
-  textureNumSamples_a3c8a0();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int(tint_tmp.z);
-  return;
-}
-
-void compute_main_1() {
-  textureNumSamples_a3c8a0();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 4d67afa..0000000
--- a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// vertex_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int(tint_tmp.z);
-  return;
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-  return;
-}
-
-void vertex_main_1() {
-  textureNumSamples_a3c8a0();
-  tint_symbol_2((0.0f).xxxx);
-  return;
-}
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-struct tint_symbol_3 {
-  float4 tint_symbol_1_1 : SV_Position;
-};
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out tint_symbol_4 = {tint_symbol_1};
-  return tint_symbol_4;
-}
-
-tint_symbol_3 vertex_main() {
-  vertex_main_out inner_result = vertex_main_inner();
-  tint_symbol_3 wrapper_result = (tint_symbol_3)0;
-  wrapper_result.tint_symbol_1_1 = inner_result.tint_symbol_1_1;
-  return wrapper_result;
-}
-//
-// fragment_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int(tint_tmp.z);
-  return;
-}
-
-void fragment_main_1() {
-  textureNumSamples_a3c8a0();
-  return;
-}
-
-void fragment_main() {
-  fragment_main_1();
-  return;
-}
-//
-// compute_main
-//
-Texture2DMS<float4> arg_0 : register(t0, space1);
-
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  uint3 tint_tmp;
-  arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
-  res = int(tint_tmp.z);
-  return;
-}
-
-void compute_main_1() {
-  textureNumSamples_a3c8a0();
-  return;
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-  return;
-}
diff --git a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.glsl b/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.glsl
deleted file mode 100644
index 377d1e8..0000000
--- a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.glsl
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-// vertex_main
-//
-#version 310 es
-
-
-struct TintTextureUniformData {
-  uint tint_builtin_value_0;
-};
-
-struct vertex_main_out {
-  vec4 tint_symbol_1_1;
-};
-
-vec4 tint_symbol_1 = vec4(0.0f);
-layout(binding = 0, std140)
-uniform v_tint_symbol_3_ubo {
-  TintTextureUniformData inner;
-} v;
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  res = int(v.inner.tint_builtin_value_0);
-}
-void tint_symbol_2(vec4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-void vertex_main_1() {
-  textureNumSamples_a3c8a0();
-  tint_symbol_2(vec4(0.0f));
-}
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  return vertex_main_out(tint_symbol_1);
-}
-void main() {
-  vec4 v_1 = vertex_main_inner().tint_symbol_1_1;
-  gl_Position = vec4(v_1.x, -(v_1.y), ((2.0f * v_1.z) - v_1.w), v_1.w);
-  gl_PointSize = 1.0f;
-}
-//
-// fragment_main
-//
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct TintTextureUniformData {
-  uint tint_builtin_value_0;
-};
-
-layout(binding = 0, std140)
-uniform f_tint_symbol_3_ubo {
-  TintTextureUniformData inner;
-} v;
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  res = int(v.inner.tint_builtin_value_0);
-}
-void fragment_main_1() {
-  textureNumSamples_a3c8a0();
-}
-void main() {
-  fragment_main_1();
-}
-//
-// compute_main
-//
-#version 310 es
-
-
-struct TintTextureUniformData {
-  uint tint_builtin_value_0;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_3_1_ubo {
-  TintTextureUniformData inner;
-} v;
-void textureNumSamples_a3c8a0() {
-  int res = 0;
-  res = int(v.inner.tint_builtin_value_0);
-}
-void compute_main_1() {
-  textureNumSamples_a3c8a0();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  compute_main_1();
-}
diff --git a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.ir.dxc.hlsl
deleted file mode 100644
index 7daf0a2..0000000
--- a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// vertex_main
-//
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 : SV_Position;
-};
-
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-void textureNumSamples_a3c8a0() {
-  int res = int(0);
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int(v.z);
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-
-void vertex_main_1() {
-  textureNumSamples_a3c8a0();
-  tint_symbol_2((0.0f).xxxx);
-}
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out v_1 = {tint_symbol_1};
-  return v_1;
-}
-
-vertex_main_outputs vertex_main() {
-  vertex_main_out v_2 = vertex_main_inner();
-  vertex_main_outputs v_3 = {v_2.tint_symbol_1_1};
-  return v_3;
-}
-
-//
-// fragment_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureNumSamples_a3c8a0() {
-  int res = int(0);
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int(v.z);
-}
-
-void fragment_main_1() {
-  textureNumSamples_a3c8a0();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureNumSamples_a3c8a0() {
-  int res = int(0);
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int(v.z);
-}
-
-void compute_main_1() {
-  textureNumSamples_a3c8a0();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7daf0a2..0000000
--- a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// vertex_main
-//
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 : SV_Position;
-};
-
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-static float4 tint_symbol_1 = (0.0f).xxxx;
-void textureNumSamples_a3c8a0() {
-  int res = int(0);
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int(v.z);
-}
-
-void tint_symbol_2(float4 tint_symbol) {
-  tint_symbol_1 = tint_symbol;
-}
-
-void vertex_main_1() {
-  textureNumSamples_a3c8a0();
-  tint_symbol_2((0.0f).xxxx);
-}
-
-vertex_main_out vertex_main_inner() {
-  vertex_main_1();
-  vertex_main_out v_1 = {tint_symbol_1};
-  return v_1;
-}
-
-vertex_main_outputs vertex_main() {
-  vertex_main_out v_2 = vertex_main_inner();
-  vertex_main_outputs v_3 = {v_2.tint_symbol_1_1};
-  return v_3;
-}
-
-//
-// fragment_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureNumSamples_a3c8a0() {
-  int res = int(0);
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int(v.z);
-}
-
-void fragment_main_1() {
-  textureNumSamples_a3c8a0();
-}
-
-void fragment_main() {
-  fragment_main_1();
-}
-
-//
-// compute_main
-//
-
-Texture2DMS<float4> arg_0 : register(t0, space1);
-void textureNumSamples_a3c8a0() {
-  int res = int(0);
-  uint3 v = (0u).xxx;
-  arg_0.GetDimensions(v.x, v.y, v.z);
-  res = int(v.z);
-}
-
-void compute_main_1() {
-  textureNumSamples_a3c8a0();
-}
-
-[numthreads(1, 1, 1)]
-void compute_main() {
-  compute_main_1();
-}
-
diff --git a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.msl b/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.msl
deleted file mode 100644
index 2959364..0000000
--- a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.msl
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// vertex_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-  thread float4* tint_symbol_1;
-};
-
-struct vertex_main_out {
-  float4 tint_symbol_1_1;
-};
-
-struct vertex_main_outputs {
-  float4 vertex_main_out_tint_symbol_1_1 [[position]];
-};
-
-void textureNumSamples_a3c8a0(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  res = int(tint_module_vars.arg_0.get_num_samples());
-}
-
-void tint_symbol_2(float4 tint_symbol, tint_module_vars_struct tint_module_vars) {
-  (*tint_module_vars.tint_symbol_1) = tint_symbol;
-}
-
-void vertex_main_1(tint_module_vars_struct tint_module_vars) {
-  textureNumSamples_a3c8a0(tint_module_vars);
-  tint_symbol_2(float4(0.0f), tint_module_vars);
-}
-
-vertex_main_out vertex_main_inner(tint_module_vars_struct tint_module_vars) {
-  vertex_main_1(tint_module_vars);
-  return vertex_main_out{.tint_symbol_1_1=(*tint_module_vars.tint_symbol_1)};
-}
-
-vertex vertex_main_outputs vertex_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  thread float4 tint_symbol_1 = float4(0.0f);
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .tint_symbol_1=(&tint_symbol_1)};
-  vertex_main_outputs tint_wrapper_result = {};
-  tint_wrapper_result.vertex_main_out_tint_symbol_1_1 = vertex_main_inner(tint_module_vars).tint_symbol_1_1;
-  return tint_wrapper_result;
-}
-//
-// fragment_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-};
-
-void textureNumSamples_a3c8a0(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  res = int(tint_module_vars.arg_0.get_num_samples());
-}
-
-void fragment_main_1(tint_module_vars_struct tint_module_vars) {
-  textureNumSamples_a3c8a0(tint_module_vars);
-}
-
-fragment void fragment_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
-  fragment_main_1(tint_module_vars);
-}
-//
-// compute_main
-//
-#include <metal_stdlib>
-using namespace metal;
-
-struct tint_module_vars_struct {
-  depth2d_ms<float, access::read> arg_0;
-};
-
-void textureNumSamples_a3c8a0(tint_module_vars_struct tint_module_vars) {
-  int res = 0;
-  res = int(tint_module_vars.arg_0.get_num_samples());
-}
-
-void compute_main_1(tint_module_vars_struct tint_module_vars) {
-  textureNumSamples_a3c8a0(tint_module_vars);
-}
-
-kernel void compute_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
-  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
-  compute_main_1(tint_module_vars);
-}
diff --git a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.spvasm b/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.spvasm
deleted file mode 100644
index 5d7c737..0000000
--- a/test/tint/unittest/reader/textureNumSamples/depth_ms.spvasm.expected.spvasm
+++ /dev/null
@@ -1,188 +0,0 @@
-;
-; vertex_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 45
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main___point_size_Output
-               OpName %arg_0 "arg_0"
-               OpName %tint_symbol_1 "tint_symbol_1"
-               OpName %vertex_main_position_Output "vertex_main_position_Output"
-               OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
-               OpName %textureNumSamples_a3c8a0 "textureNumSamples_a3c8a0"
-               OpName %res "res"
-               OpName %tint_symbol_2 "tint_symbol_2"
-               OpName %tint_symbol "tint_symbol"
-               OpName %vertex_main_1 "vertex_main_1"
-               OpName %vertex_main_inner "vertex_main_inner"
-               OpMemberName %vertex_main_out 0 "tint_symbol_1_1"
-               OpName %vertex_main_out "vertex_main_out"
-               OpName %vertex_main "vertex_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-               OpDecorate %vertex_main_position_Output BuiltIn Position
-               OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-    %v4float = OpTypeVector %float 4
-%_ptr_Private_v4float = OpTypePointer Private %v4float
-          %8 = OpConstantNull %v4float
-%tint_symbol_1 = OpVariable %_ptr_Private_v4float Private %8
-%_ptr_Output_v4float = OpTypePointer Output %v4float
-%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
-%_ptr_Output_float = OpTypePointer Output %float
-%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
-       %void = OpTypeVoid
-         %15 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %uint = OpTypeInt 32 0
-         %27 = OpTypeFunction %void %v4float
-%vertex_main_out = OpTypeStruct %v4float
-         %35 = OpTypeFunction %vertex_main_out
-    %float_1 = OpConstant %float 1
-%textureNumSamples_a3c8a0 = OpFunction %void None %15
-         %16 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %21 = OpLoad %3 %arg_0 None
-         %22 = OpImageQuerySamples %uint %21
-         %24 = OpBitcast %int %22
-               OpStore %res %24 None
-               OpReturn
-               OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %27
-%tint_symbol = OpFunctionParameter %v4float
-         %28 = OpLabel
-               OpStore %tint_symbol_1 %tint_symbol None
-               OpReturn
-               OpFunctionEnd
-%vertex_main_1 = OpFunction %void None %15
-         %30 = OpLabel
-         %31 = OpFunctionCall %void %textureNumSamples_a3c8a0
-         %32 = OpFunctionCall %void %tint_symbol_2 %8
-               OpReturn
-               OpFunctionEnd
-%vertex_main_inner = OpFunction %vertex_main_out None %35
-         %36 = OpLabel
-         %37 = OpFunctionCall %void %vertex_main_1
-         %38 = OpLoad %v4float %tint_symbol_1 None
-         %39 = OpCompositeConstruct %vertex_main_out %38
-               OpReturnValue %39
-               OpFunctionEnd
-%vertex_main = OpFunction %void None %15
-         %41 = OpLabel
-         %42 = OpFunctionCall %vertex_main_out %vertex_main_inner
-         %43 = OpCompositeExtract %v4float %42 0
-               OpStore %vertex_main_position_Output %43 None
-               OpStore %vertex_main___point_size_Output %float_1 None
-               OpReturn
-               OpFunctionEnd
-;
-; fragment_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint Fragment %fragment_main "fragment_main"
-               OpExecutionMode %fragment_main OriginUpperLeft
-               OpName %arg_0 "arg_0"
-               OpName %textureNumSamples_a3c8a0 "textureNumSamples_a3c8a0"
-               OpName %res "res"
-               OpName %fragment_main_1 "fragment_main_1"
-               OpName %fragment_main "fragment_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %uint = OpTypeInt 32 0
-%textureNumSamples_a3c8a0 = OpFunction %void None %7
-          %8 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpLoad %3 %arg_0 None
-         %14 = OpImageQuerySamples %uint %13
-         %16 = OpBitcast %int %14
-               OpStore %res %16 None
-               OpReturn
-               OpFunctionEnd
-%fragment_main_1 = OpFunction %void None %7
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %textureNumSamples_a3c8a0
-               OpReturn
-               OpFunctionEnd
-%fragment_main = OpFunction %void None %7
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %fragment_main_1
-               OpReturn
-               OpFunctionEnd
-;
-; compute_main
-;
-; SPIR-V
-; Version: 1.3
-; Generator: Google Tint Compiler; 1
-; Bound: 23
-; Schema: 0
-               OpCapability Shader
-               OpCapability ImageQuery
-               OpMemoryModel Logical GLSL450
-               OpEntryPoint GLCompute %compute_main "compute_main"
-               OpExecutionMode %compute_main LocalSize 1 1 1
-               OpName %arg_0 "arg_0"
-               OpName %textureNumSamples_a3c8a0 "textureNumSamples_a3c8a0"
-               OpName %res "res"
-               OpName %compute_main_1 "compute_main_1"
-               OpName %compute_main "compute_main"
-               OpDecorate %arg_0 DescriptorSet 1
-               OpDecorate %arg_0 Binding 0
-      %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
-%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
-      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
-       %void = OpTypeVoid
-          %7 = OpTypeFunction %void
-        %int = OpTypeInt 32 1
-%_ptr_Function_int = OpTypePointer Function %int
-      %int_0 = OpConstant %int 0
-       %uint = OpTypeInt 32 0
-%textureNumSamples_a3c8a0 = OpFunction %void None %7
-          %8 = OpLabel
-        %res = OpVariable %_ptr_Function_int Function
-               OpStore %res %int_0
-         %13 = OpLoad %3 %arg_0 None
-         %14 = OpImageQuerySamples %uint %13
-         %16 = OpBitcast %int %14
-               OpStore %res %16 None
-               OpReturn
-               OpFunctionEnd
-%compute_main_1 = OpFunction %void None %7
-         %18 = OpLabel
-         %19 = OpFunctionCall %void %textureNumSamples_a3c8a0
-               OpReturn
-               OpFunctionEnd
-%compute_main = OpFunction %void None %7
-         %21 = OpLabel
-         %22 = OpFunctionCall %void %compute_main_1
-               OpReturn
-               OpFunctionEnd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b69e530..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,86 +0,0 @@
-SKIP: FAILED
-
-int tint_ftoi(float v) {
-  return ((v < 2147483520.0f) ? ((v < -2147483648.0f) ? -2147483648 : int(v)) : 2147483647);
-}
-
-int tint_clamp(int e, int low, int high) {
-  return min(max(e, low), high);
-}
-
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-cbuffer cbuffer_x_10 : register(b1) {
-  uint4 x_10[4];
-};
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  float4 data[2] = (float4[2])0;
-  int b = 0;
-  int y = 0;
-  int i = 0;
-  float4 tint_symbol_3[2] = {float4((asfloat(x_7[0].x)).xxxx), float4((asfloat(x_7[0].x)).xxxx)};
-  data = tint_symbol_3;
-  b = asint(x_10[1].x);
-  y = tint_clamp(tint_ftoi(gl_FragCoord.y), (asint(x_10[1].x) | tint_ftoi(gl_FragCoord.y)), asint(x_10[1].x));
-  i = asint(x_10[1].x);
-  while (true) {
-    bool x_82 = false;
-    bool x_83 = false;
-    if ((i < asint(x_10[0].x))) {
-    } else {
-      break;
-    }
-    bool x_76 = (b > asint(x_10[0].x));
-    x_83 = x_76;
-    if (x_76) {
-      x_82 = (y > asint(x_10[1].x));
-      x_83 = x_82;
-    }
-    if (x_83) {
-      break;
-    }
-    b = (b + 1);
-    {
-      i = (i + 1);
-    }
-  }
-  if ((b == asint(x_10[0].x))) {
-    int x_97 = asint(x_10[2].x);
-    int x_99 = asint(x_10[1].x);
-    int x_101 = asint(x_10[3].x);
-    data[tint_clamp(x_97, x_99, x_101)] = float4(float(asint(x_10[1].x)), float(asint(x_10[2].x)), float(asint(x_10[2].x)), float(asint(x_10[1].x)));
-  }
-  float4 x_120 = data[asint(x_10[1].x)];
-  x_GLF_color = float4(x_120.x, x_120.y, x_120.z, x_120.w);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  main_out tint_symbol_4 = {x_GLF_color};
-  return tint_symbol_4;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(float4(tint_symbol.gl_FragCoord_param.xyz, (1.0f / tint_symbol.gl_FragCoord_param.w)));
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-
-tint executable returned error: exit status 0xc00000fd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 7b77fb7..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,100 +0,0 @@
-SKIP: FAILED
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-
-struct main_outputs {
-  float4 main_out_x_GLF_color_1 : SV_Target0;
-};
-
-struct main_inputs {
-  float4 gl_FragCoord_param : SV_Position;
-};
-
-
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-cbuffer cbuffer_x_10 : register(b1) {
-  uint4 x_10[4];
-};
-static float4 gl_FragCoord = (0.0f).xxxx;
-static float4 x_GLF_color = (0.0f).xxxx;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
-}
-
-void main_1() {
-  float4 data[2] = (float4[2])0;
-  int b = int(0);
-  int y = int(0);
-  int i = int(0);
-  float4 v = float4((asfloat(x_7[0u].x)).xxxx);
-  float4 v_1[2] = {v, float4((asfloat(x_7[0u].x)).xxxx)};
-  data = v_1;
-  b = asint(x_10[1u].x);
-  int v_2 = tint_f32_to_i32(gl_FragCoord.y);
-  int v_3 = asint(x_10[1u].x);
-  int v_4 = (v_3 | tint_f32_to_i32(gl_FragCoord.y));
-  int v_5 = asint(x_10[1u].x);
-  y = min(max(v_2, v_4), v_5);
-  i = asint(x_10[1u].x);
-  {
-    while(true) {
-      bool x_82 = false;
-      bool x_83 = false;
-      int v_6 = i;
-      if ((v_6 < asint(x_10[0u].x))) {
-      } else {
-        break;
-      }
-      int v_7 = b;
-      bool x_76 = (v_7 > asint(x_10[0u].x));
-      x_83 = x_76;
-      if (x_76) {
-        int v_8 = y;
-        x_82 = (v_8 > asint(x_10[1u].x));
-        x_83 = x_82;
-      }
-      if (x_83) {
-        break;
-      }
-      b = (b + int(1));
-      {
-        i = (i + int(1));
-      }
-      continue;
-    }
-  }
-  int v_9 = b;
-  if ((v_9 == asint(x_10[0u].x))) {
-    int x_97 = asint(x_10[2u].x);
-    int x_99 = asint(x_10[1u].x);
-    int x_101 = asint(x_10[3u].x);
-    int v_10 = min(max(x_97, x_99), x_101);
-    float v_11 = float(asint(x_10[1u].x));
-    float v_12 = float(asint(x_10[2u].x));
-    float v_13 = float(asint(x_10[2u].x));
-    data[v_10] = float4(v_11, v_12, v_13, float(asint(x_10[1u].x)));
-  }
-  int v_14 = asint(x_10[1u].x);
-  float4 x_120 = data[v_14];
-  x_GLF_color = float4(x_120[0u], x_120[1u], x_120[2u], x_120[3u]);
-}
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  main_out v_15 = {x_GLF_color};
-  return v_15;
-}
-
-main_outputs main(main_inputs inputs) {
-  main_out v_16 = main_inner(float4(inputs.gl_FragCoord_param.xyz, (1.0f / inputs.gl_FragCoord_param[3u])));
-  main_outputs v_17 = {v_16.x_GLF_color_1};
-  return v_17;
-}
-
-
-tint executable returned error: exit status 0xc00000fd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 90e9bef..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,3 +0,0 @@
-SKIP: FAILED
-
-test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 90e9bef..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,3 +0,0 @@
-SKIP: FAILED
-
-test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100644
index fdbd404..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,231 +0,0 @@
-SKIP: FAILED
-
-static int x_GLF_global_loop_count = 0;
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[3];
-};
-cbuffer cbuffer_x_10 : register(b1) {
-  uint4 x_10[4];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  float f = 0.0f;
-  int i = 0;
-  int i_1 = 0;
-  int i_2 = 0;
-  int i_3 = 0;
-  int i_4 = 0;
-  int i_5 = 0;
-  int i_6 = 0;
-  int i_7 = 0;
-  int i_8 = 0;
-  int i_9 = 0;
-  int i_10 = 0;
-  int i_11 = 0;
-  int i_12 = 0;
-  int i_13 = 0;
-  int i_14 = 0;
-  float sum = 0.0f;
-  int r = 0;
-  x_GLF_global_loop_count = 0;
-  f = asfloat(x_7[1].x);
-  i = asint(x_10[1].x);
-  while (true) {
-    if ((i < asint(x_10[0].x))) {
-    } else {
-      break;
-    }
-    i_1 = asint(x_10[1].x);
-    while (true) {
-      if ((i_1 < asint(x_10[0].x))) {
-      } else {
-        break;
-      }
-      i_2 = asint(x_10[1].x);
-      while (true) {
-        if ((i_2 < asint(x_10[0].x))) {
-        } else {
-          break;
-        }
-        i_3 = asint(x_10[1].x);
-        while (true) {
-          if ((i_3 < asint(x_10[0].x))) {
-          } else {
-            break;
-          }
-          i_4 = asint(x_10[1].x);
-          while (true) {
-            if ((i_4 < asint(x_10[0].x))) {
-            } else {
-              break;
-            }
-            i_5 = asint(x_10[1].x);
-            while (true) {
-              if ((i_5 < asint(x_10[0].x))) {
-              } else {
-                break;
-              }
-              i_6 = asint(x_10[1].x);
-              while (true) {
-                if ((i_6 < asint(x_10[0].x))) {
-                } else {
-                  break;
-                }
-                i_7 = asint(x_10[1].x);
-                while (true) {
-                  if ((i_7 < asint(x_10[0].x))) {
-                  } else {
-                    break;
-                  }
-                  i_8 = asint(x_10[1].x);
-                  while (true) {
-                    if ((i_8 < asint(x_10[0].x))) {
-                    } else {
-                      break;
-                    }
-                    i_9 = asint(x_10[1].x);
-                    while (true) {
-                      if ((i_9 < asint(x_10[0].x))) {
-                      } else {
-                        break;
-                      }
-                      i_10 = asint(x_10[1].x);
-                      while (true) {
-                        if ((i_10 < asint(x_10[0].x))) {
-                        } else {
-                          break;
-                        }
-                        i_11 = asint(x_10[1].x);
-                        while (true) {
-                          if ((i_11 < asint(x_10[2].x))) {
-                          } else {
-                            break;
-                          }
-                          i_12 = asint(x_10[1].x);
-                          while (true) {
-                            if ((i_12 < asint(x_10[0].x))) {
-                            } else {
-                              break;
-                            }
-                            i_13 = asint(x_10[1].x);
-                            while (true) {
-                              if ((i_13 < asint(x_10[0].x))) {
-                              } else {
-                                break;
-                              }
-                              i_14 = asint(x_10[1].x);
-                              while (true) {
-                                if ((i_14 < asint(x_10[2].x))) {
-                                } else {
-                                  break;
-                                }
-                                while (true) {
-                                  x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
-                                  {
-                                    int x_225 = x_GLF_global_loop_count;
-                                    int x_227 = asint(x_10[3].x);
-                                    if (!((x_225 < (100 - x_227)))) { break; }
-                                  }
-                                }
-                                f = (f + asfloat(x_7[0].x));
-                                {
-                                  i_14 = (i_14 + 1);
-                                }
-                              }
-                              {
-                                i_13 = (i_13 + 1);
-                              }
-                            }
-                            {
-                              i_12 = (i_12 + 1);
-                            }
-                          }
-                          {
-                            i_11 = (i_11 + 1);
-                          }
-                        }
-                        {
-                          i_10 = (i_10 + 1);
-                        }
-                      }
-                      {
-                        i_9 = (i_9 + 1);
-                      }
-                    }
-                    {
-                      i_8 = (i_8 + 1);
-                    }
-                  }
-                  {
-                    i_7 = (i_7 + 1);
-                  }
-                }
-                {
-                  i_6 = (i_6 + 1);
-                }
-              }
-              {
-                i_5 = (i_5 + 1);
-              }
-            }
-            {
-              i_4 = (i_4 + 1);
-            }
-          }
-          {
-            i_3 = (i_3 + 1);
-          }
-        }
-        {
-          i_2 = (i_2 + 1);
-        }
-      }
-      {
-        i_1 = (i_1 + 1);
-      }
-    }
-    {
-      i = (i + 1);
-    }
-  }
-  sum = asfloat(x_7[1].x);
-  r = asint(x_10[1].x);
-  while (true) {
-    if ((x_GLF_global_loop_count < 100)) {
-    } else {
-      break;
-    }
-    x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
-    sum = (sum + f);
-    {
-      r = (r + 1);
-    }
-  }
-  if ((sum == asfloat(x_7[2].x))) {
-    x_GLF_color = float4(float(asint(x_10[0].x)), float(asint(x_10[1].x)), float(asint(x_10[1].x)), float(asint(x_10[0].x)));
-  } else {
-    x_GLF_color = float4((float(asint(x_10[1].x))).xxxx);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.ir.fxc.hlsl
deleted file mode 100644
index 6491cc8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,302 +0,0 @@
-SKIP: TIMEOUT
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-
-struct main_outputs {
-  float4 main_out_x_GLF_color_1 : SV_Target0;
-};
-
-
-static int x_GLF_global_loop_count = int(0);
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[3];
-};
-cbuffer cbuffer_x_10 : register(b1) {
-  uint4 x_10[4];
-};
-static float4 x_GLF_color = (0.0f).xxxx;
-void main_1() {
-  float f = 0.0f;
-  int i = int(0);
-  int i_1 = int(0);
-  int i_2 = int(0);
-  int i_3 = int(0);
-  int i_4 = int(0);
-  int i_5 = int(0);
-  int i_6 = int(0);
-  int i_7 = int(0);
-  int i_8 = int(0);
-  int i_9 = int(0);
-  int i_10 = int(0);
-  int i_11 = int(0);
-  int i_12 = int(0);
-  int i_13 = int(0);
-  int i_14 = int(0);
-  float sum = 0.0f;
-  int r = int(0);
-  x_GLF_global_loop_count = int(0);
-  f = asfloat(x_7[1u].x);
-  i = asint(x_10[1u].x);
-  {
-    while(true) {
-      int v = i;
-      if ((v < asint(x_10[0u].x))) {
-      } else {
-        break;
-      }
-      i_1 = asint(x_10[1u].x);
-      {
-        while(true) {
-          int v_1 = i_1;
-          if ((v_1 < asint(x_10[0u].x))) {
-          } else {
-            break;
-          }
-          i_2 = asint(x_10[1u].x);
-          {
-            while(true) {
-              int v_2 = i_2;
-              if ((v_2 < asint(x_10[0u].x))) {
-              } else {
-                break;
-              }
-              i_3 = asint(x_10[1u].x);
-              {
-                while(true) {
-                  int v_3 = i_3;
-                  if ((v_3 < asint(x_10[0u].x))) {
-                  } else {
-                    break;
-                  }
-                  i_4 = asint(x_10[1u].x);
-                  {
-                    while(true) {
-                      int v_4 = i_4;
-                      if ((v_4 < asint(x_10[0u].x))) {
-                      } else {
-                        break;
-                      }
-                      i_5 = asint(x_10[1u].x);
-                      {
-                        while(true) {
-                          int v_5 = i_5;
-                          if ((v_5 < asint(x_10[0u].x))) {
-                          } else {
-                            break;
-                          }
-                          i_6 = asint(x_10[1u].x);
-                          {
-                            while(true) {
-                              int v_6 = i_6;
-                              if ((v_6 < asint(x_10[0u].x))) {
-                              } else {
-                                break;
-                              }
-                              i_7 = asint(x_10[1u].x);
-                              {
-                                while(true) {
-                                  int v_7 = i_7;
-                                  if ((v_7 < asint(x_10[0u].x))) {
-                                  } else {
-                                    break;
-                                  }
-                                  i_8 = asint(x_10[1u].x);
-                                  {
-                                    while(true) {
-                                      int v_8 = i_8;
-                                      if ((v_8 < asint(x_10[0u].x))) {
-                                      } else {
-                                        break;
-                                      }
-                                      i_9 = asint(x_10[1u].x);
-                                      {
-                                        while(true) {
-                                          int v_9 = i_9;
-                                          if ((v_9 < asint(x_10[0u].x))) {
-                                          } else {
-                                            break;
-                                          }
-                                          i_10 = asint(x_10[1u].x);
-                                          {
-                                            while(true) {
-                                              int v_10 = i_10;
-                                              if ((v_10 < asint(x_10[0u].x))) {
-                                              } else {
-                                                break;
-                                              }
-                                              i_11 = asint(x_10[1u].x);
-                                              {
-                                                while(true) {
-                                                  int v_11 = i_11;
-                                                  if ((v_11 < asint(x_10[2u].x))) {
-                                                  } else {
-                                                    break;
-                                                  }
-                                                  i_12 = asint(x_10[1u].x);
-                                                  {
-                                                    while(true) {
-                                                      int v_12 = i_12;
-                                                      if ((v_12 < asint(x_10[0u].x))) {
-                                                      } else {
-                                                        break;
-                                                      }
-                                                      i_13 = asint(x_10[1u].x);
-                                                      {
-                                                        while(true) {
-                                                          int v_13 = i_13;
-                                                          if ((v_13 < asint(x_10[0u].x))) {
-                                                          } else {
-                                                            break;
-                                                          }
-                                                          i_14 = asint(x_10[1u].x);
-                                                          {
-                                                            while(true) {
-                                                              int v_14 = i_14;
-                                                              if ((v_14 < asint(x_10[2u].x))) {
-                                                              } else {
-                                                                break;
-                                                              }
-                                                              {
-                                                                while(true) {
-                                                                  x_GLF_global_loop_count = (x_GLF_global_loop_count + int(1));
-                                                                  {
-                                                                    int x_225 = x_GLF_global_loop_count;
-                                                                    int x_227 = asint(x_10[3u].x);
-                                                                    if (!((x_225 < (int(100) - x_227)))) { break; }
-                                                                  }
-                                                                  continue;
-                                                                }
-                                                              }
-                                                              float v_15 = f;
-                                                              f = (v_15 + asfloat(x_7[0u].x));
-                                                              {
-                                                                i_14 = (i_14 + int(1));
-                                                              }
-                                                              continue;
-                                                            }
-                                                          }
-                                                          {
-                                                            i_13 = (i_13 + int(1));
-                                                          }
-                                                          continue;
-                                                        }
-                                                      }
-                                                      {
-                                                        i_12 = (i_12 + int(1));
-                                                      }
-                                                      continue;
-                                                    }
-                                                  }
-                                                  {
-                                                    i_11 = (i_11 + int(1));
-                                                  }
-                                                  continue;
-                                                }
-                                              }
-                                              {
-                                                i_10 = (i_10 + int(1));
-                                              }
-                                              continue;
-                                            }
-                                          }
-                                          {
-                                            i_9 = (i_9 + int(1));
-                                          }
-                                          continue;
-                                        }
-                                      }
-                                      {
-                                        i_8 = (i_8 + int(1));
-                                      }
-                                      continue;
-                                    }
-                                  }
-                                  {
-                                    i_7 = (i_7 + int(1));
-                                  }
-                                  continue;
-                                }
-                              }
-                              {
-                                i_6 = (i_6 + int(1));
-                              }
-                              continue;
-                            }
-                          }
-                          {
-                            i_5 = (i_5 + int(1));
-                          }
-                          continue;
-                        }
-                      }
-                      {
-                        i_4 = (i_4 + int(1));
-                      }
-                      continue;
-                    }
-                  }
-                  {
-                    i_3 = (i_3 + int(1));
-                  }
-                  continue;
-                }
-              }
-              {
-                i_2 = (i_2 + int(1));
-              }
-              continue;
-            }
-          }
-          {
-            i_1 = (i_1 + int(1));
-          }
-          continue;
-        }
-      }
-      {
-        i = (i + int(1));
-      }
-      continue;
-    }
-  }
-  sum = asfloat(x_7[1u].x);
-  r = asint(x_10[1u].x);
-  {
-    while(true) {
-      if ((x_GLF_global_loop_count < int(100))) {
-      } else {
-        break;
-      }
-      x_GLF_global_loop_count = (x_GLF_global_loop_count + int(1));
-      sum = (sum + f);
-      {
-        r = (r + int(1));
-      }
-      continue;
-    }
-  }
-  float v_16 = sum;
-  if ((v_16 == asfloat(x_7[2u].x))) {
-    float v_17 = float(asint(x_10[0u].x));
-    float v_18 = float(asint(x_10[1u].x));
-    float v_19 = float(asint(x_10[1u].x));
-    x_GLF_color = float4(v_17, v_18, v_19, float(asint(x_10[0u].x)));
-  } else {
-    x_GLF_color = float4((float(asint(x_10[1u].x))).xxxx);
-  }
-}
-
-main_out main_inner() {
-  main_1();
-  main_out v_20 = {x_GLF_color};
-  return v_20;
-}
-
-main_outputs main() {
-  main_out v_21 = main_inner();
-  main_outputs v_22 = {v_21.x_GLF_color_1};
-  return v_22;
-}
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 73e95ce..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,47 +0,0 @@
-SKIP: INVALID
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_5 : register(b0) {
-  uint4 x_5[2];
-};
-
-void main_1() {
-  x_GLF_color = float4(float(asint(x_5[0].x)), float(asint(x_5[1].x)), float(asint(x_5[1].x)), float(asint(x_5[0].x)));
-  if ((asint(x_5[1].x) > asint(x_5[0].x))) {
-    while (true) {
-      x_GLF_color = float4((float(asint(x_5[0].x))).xxxx);
-      {
-        int x_50 = asint(x_5[1].x);
-        int x_52 = asint(x_5[0].x);
-        if (!((x_50 > x_52))) { break; }
-      }
-    }
-    return;
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-<scrubbed_path>(9,12-15): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.dxc.hlsl
deleted file mode 100755
index 93ace82..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,80 +0,0 @@
-SKIP: INVALID
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_5 : register(b1) {
-  uint4 x_5[2];
-};
-cbuffer cbuffer_x_7 : register(b2) {
-  uint4 x_7[1];
-};
-cbuffer cbuffer_x_10 : register(b0) {
-  uint4 x_10[2];
-};
-
-void main_1() {
-  int i = 0;
-  x_GLF_color = float4((asfloat(x_5[0].x)).xxxx);
-  if ((asfloat(x_7[0].x) > asfloat(x_5[0].x))) {
-    while (true) {
-      x_GLF_color = float4((asfloat(x_5[1].x)).xxxx);
-      {
-        if (false) { break; }
-      }
-    }
-  } else {
-    while (true) {
-      while (true) {
-        if (true) {
-        } else {
-          break;
-        }
-        i = asint(x_10[1].x);
-        while (true) {
-          if ((i < asint(x_10[0].x))) {
-          } else {
-            break;
-          }
-          x_GLF_color = float4(asfloat(x_5[1].x), asfloat(x_5[0].x), asfloat(x_5[0].x), asfloat(x_5[1].x));
-          {
-            i = (i + 1);
-          }
-        }
-        break;
-      }
-      {
-        float x_82 = asfloat(x_7[0].x);
-        float x_84 = asfloat(x_5[0].x);
-        if (!((x_82 > x_84))) { break; }
-      }
-    }
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:65: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100755
index 1484c6d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,77 +0,0 @@
-SKIP: INVALID
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_5 : register(b1) {
-  uint4 x_5[2];
-};
-cbuffer cbuffer_x_7 : register(b2) {
-  uint4 x_7[1];
-};
-cbuffer cbuffer_x_10 : register(b0) {
-  uint4 x_10[2];
-};
-
-void main_1() {
-  int i = 0;
-  x_GLF_color = float4((asfloat(x_5[0].x)).xxxx);
-  if ((asfloat(x_7[0].x) > asfloat(x_5[0].x))) {
-    while (true) {
-      x_GLF_color = float4((asfloat(x_5[1].x)).xxxx);
-      {
-        if (false) { break; }
-      }
-    }
-  } else {
-    while (true) {
-      while (true) {
-        if (true) {
-        } else {
-          break;
-        }
-        i = asint(x_10[1].x);
-        while (true) {
-          if ((i < asint(x_10[0].x))) {
-          } else {
-            break;
-          }
-          x_GLF_color = float4(asfloat(x_5[1].x), asfloat(x_5[0].x), asfloat(x_5[0].x), asfloat(x_5[1].x));
-          {
-            i = (i + 1);
-          }
-        }
-        break;
-      }
-      {
-        float x_82 = asfloat(x_7[0].x);
-        float x_84 = asfloat(x_5[0].x);
-        if (!((x_82 > x_84))) { break; }
-      }
-    }
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-<scrubbed_path>(16,12-15): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.dxc.hlsl
deleted file mode 100755
index aeb787e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,76 +0,0 @@
-SKIP: INVALID
-
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-float fx_() {
-  if ((gl_FragCoord.y >= 0.0f)) {
-    float x_55 = asfloat(x_7[0].y);
-    return x_55;
-  }
-  while (true) {
-    if (true) {
-    } else {
-      break;
-    }
-    x_GLF_color = (1.0f).xxxx;
-  }
-  return 0.0f;
-}
-
-void main_1() {
-  float x2 = 0.0f;
-  float B = 0.0f;
-  float k0 = 0.0f;
-  x2 = 1.0f;
-  B = 1.0f;
-  float x_34 = fx_();
-  x_GLF_color = float4(x_34, 0.0f, 0.0f, 1.0f);
-  while (true) {
-    if ((x2 > 2.0f)) {
-    } else {
-      break;
-    }
-    float x_43 = fx_();
-    float x_44 = fx_();
-    k0 = (x_43 - x_44);
-    B = k0;
-    x2 = B;
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  main_out tint_symbol_3 = {x_GLF_color};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(float4(tint_symbol.gl_FragCoord_param.xyz, (1.0f / tint_symbol.gl_FragCoord_param.w)));
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:61: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100755
index 7efdfa8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,73 +0,0 @@
-SKIP: INVALID
-
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-float fx_() {
-  if ((gl_FragCoord.y >= 0.0f)) {
-    float x_55 = asfloat(x_7[0].y);
-    return x_55;
-  }
-  while (true) {
-    if (true) {
-    } else {
-      break;
-    }
-    x_GLF_color = (1.0f).xxxx;
-  }
-  return 0.0f;
-}
-
-void main_1() {
-  float x2 = 0.0f;
-  float B = 0.0f;
-  float k0 = 0.0f;
-  x2 = 1.0f;
-  B = 1.0f;
-  float x_34 = fx_();
-  x_GLF_color = float4(x_34, 0.0f, 0.0f, 1.0f);
-  while (true) {
-    if ((x2 > 2.0f)) {
-    } else {
-      break;
-    }
-    float x_43 = fx_();
-    float x_44 = fx_();
-    k0 = (x_43 - x_44);
-    B = k0;
-    x2 = B;
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  main_out tint_symbol_3 = {x_GLF_color};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(float4(tint_symbol.gl_FragCoord_param.xyz, (1.0f / tint_symbol.gl_FragCoord_param.w)));
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-<scrubbed_path>(12,10-13): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 3f4348c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,261 +0,0 @@
-SKIP: FAILED
-
-int tint_ftoi(float v) {
-  return ((v < 2147483520.0f) ? ((v < -2147483648.0f) ? -2147483648 : int(v)) : 2147483647);
-}
-
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_6 : register(b0) {
-  uint4 x_6[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  while (true) {
-    bool x_45 = false;
-    int x_48 = 0;
-    int x_50 = 0;
-    int x_52 = 0;
-    int x_49 = 0;
-    bool x_46 = false;
-    int x_111 = 0;
-    bool x_112 = false;
-    int x_115 = 0;
-    int x_118 = 0;
-    int x_120 = 0;
-    int x_116 = 0;
-    int x_161 = 0;
-    float x_40 = asfloat(x_6[0].x);
-    bool x_41 = (x_40 < -1.0f);
-    x_45 = false;
-    x_48 = 0;
-    x_50 = 0;
-    x_52 = 0;
-    while (true) {
-      int x_62 = 0;
-      int x_65 = 0;
-      int x_67 = 0;
-      int x_66 = 0;
-      int x_63 = 0;
-      int x_51 = 0;
-      int x_53 = 0;
-      float x_55 = gl_FragCoord.y;
-      x_111 = x_48;
-      x_112 = x_45;
-      if ((x_52 < ((x_55 > -1.0f) ? 10 : 100))) {
-      } else {
-        break;
-      }
-      x_62 = x_48;
-      x_65 = x_50;
-      x_67 = 0;
-      while (true) {
-        int x_97 = 0;
-        int x_68 = 0;
-        x_51 = x_65;
-        x_49 = x_62;
-        x_46 = x_45;
-        if ((x_67 < 2)) {
-        } else {
-          break;
-        }
-        while (true) {
-          bool x_78 = false;
-          int x_86 = 0;
-          bool x_98 = false;
-          x_78 = (gl_FragCoord.x < -1.0f);
-          if (!((x_40 < 0.0f))) {
-            if (x_78) {
-              x_66 = 0;
-              break;
-            }
-            x_86 = 1;
-            while (true) {
-              int x_87 = 0;
-              x_97 = x_65;
-              x_98 = false;
-              if ((x_86 < 3)) {
-              } else {
-                break;
-              }
-              if (x_78) {
-                {
-                  x_87 = (x_86 + 1);
-                  x_86 = x_87;
-                }
-                continue;
-              }
-              if ((x_86 > 0)) {
-                x_97 = 1;
-                x_98 = true;
-                break;
-              }
-              {
-                x_87 = (x_86 + 1);
-                x_86 = x_87;
-              }
-            }
-            x_66 = x_97;
-            if (x_98) {
-              break;
-            }
-          }
-          x_66 = 0;
-          break;
-        }
-        x_63 = (x_62 + x_66);
-        if (x_41) {
-          while (true) {
-            if (x_41) {
-            } else {
-              break;
-            }
-            {
-              x_GLF_color = float4((float(x_52)).xxxx);
-            }
-          }
-          x_51 = x_66;
-          x_49 = x_63;
-          x_46 = true;
-          break;
-        }
-        {
-          x_68 = (x_67 + 1);
-          x_62 = x_63;
-          x_65 = x_66;
-          x_67 = x_68;
-        }
-      }
-      x_111 = x_49;
-      x_112 = x_46;
-      if (x_46) {
-        break;
-      }
-      if (!(x_41)) {
-        x_111 = x_49;
-        x_112 = x_46;
-        break;
-      }
-      {
-        x_53 = (x_52 + 1);
-        x_45 = x_46;
-        x_48 = x_49;
-        x_50 = x_51;
-        x_52 = x_53;
-      }
-    }
-    if (x_112) {
-      break;
-    }
-    x_115 = x_111;
-    x_118 = 0;
-    x_120 = 0;
-    while (true) {
-      int x_154 = 0;
-      int x_119 = 0;
-      int x_121 = 0;
-      float x_123 = asfloat(x_6[0].y);
-      x_161 = x_115;
-      if ((x_120 < tint_ftoi((x_123 + 1.0f)))) {
-      } else {
-        break;
-      }
-      while (true) {
-        bool x_135 = false;
-        int x_143 = 0;
-        bool x_155 = false;
-        x_135 = (gl_FragCoord.x < -1.0f);
-        if (!((x_40 < 0.0f))) {
-          if (x_135) {
-            x_119 = 0;
-            break;
-          }
-          x_143 = 1;
-          while (true) {
-            int x_144 = 0;
-            x_154 = x_118;
-            x_155 = false;
-            if ((x_143 < 3)) {
-            } else {
-              break;
-            }
-            if (x_135) {
-              {
-                x_144 = (x_143 + 1);
-                x_143 = x_144;
-              }
-              continue;
-            }
-            if ((x_143 > 0)) {
-              x_154 = 1;
-              x_155 = true;
-              break;
-            }
-            {
-              x_144 = (x_143 + 1);
-              x_143 = x_144;
-            }
-          }
-          x_119 = x_154;
-          if (x_155) {
-            break;
-          }
-        }
-        x_119 = 0;
-        break;
-      }
-      x_116 = (x_115 + x_119);
-      if ((!(x_41) ? false : x_41)) {
-        x_161 = x_116;
-        break;
-      }
-      {
-        x_121 = (x_120 + 1);
-        x_115 = x_116;
-        x_118 = x_119;
-        x_120 = x_121;
-      }
-    }
-    if ((x_161 == 4)) {
-      x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-    } else {
-      x_GLF_color = (0.0f).xxxx;
-    }
-    break;
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  main_out tint_symbol_3 = {x_GLF_color};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(float4(tint_symbol.gl_FragCoord_param.xyz, (1.0f / tint_symbol.gl_FragCoord_param.w)));
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-<scrubbed_path>(12,3-14): warning X3557: loop only executes for 0 iteration(s), forcing loop to unroll
-<scrubbed_path>(60,9-20): warning X3557: loop only executes for 0 iteration(s), forcing loop to unroll
-<scrubbed_path>(161,7-18): warning X3557: loop only executes for 0 iteration(s), forcing loop to unroll
-<scrubbed_path>(60,9-20): warning X3557: loop only executes for 0 iteration(s), forcing loop to unroll
-<scrubbed_path>(161,7-18): warning X3557: loop only executes for 0 iteration(s), forcing loop to unroll
-<scrubbed_path>(106,11-22): error X4029: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.fxc.hlsl
deleted file mode 100644
index ea2d21c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,324 +0,0 @@
-SKIP: FAILED
-
-int tint_ftoi(float v) {
-  return ((v < 2147483520.0f) ? ((v < -2147483648.0f) ? -2147483648 : int(v)) : 2147483647);
-}
-
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_7 : register(b0) {
-  uint4 x_7[1];
-};
-static int map[256] = (int[256])0;
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-int tint_mod(int lhs, int rhs) {
-  int rhs_or_one = (((rhs == 0) | ((lhs == -2147483648) & (rhs == -1))) ? 1 : rhs);
-  if (any(((uint((lhs | rhs_or_one)) & 2147483648u) != 0u))) {
-    return (lhs - ((lhs / rhs_or_one) * rhs_or_one));
-  } else {
-    return (lhs % rhs_or_one);
-  }
-}
-
-void main_1() {
-  float2 pos = float2(0.0f, 0.0f);
-  int2 ipos = int2(0, 0);
-  int i = 0;
-  int2 p = int2(0, 0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  pos = (gl_FragCoord.xy / asfloat(x_7[0].xy));
-  ipos = int2(tint_ftoi((pos.x * 16.0f)), tint_ftoi((pos.y * 16.0f)));
-  i = 0;
-  while (true) {
-    if ((i < 256)) {
-    } else {
-      break;
-    }
-    int x_80 = i;
-    map[x_80] = 0;
-    {
-      i = (i + 1);
-    }
-  }
-  p = (0).xx;
-  canwalk = true;
-  v = 0;
-  while (true) {
-    bool x_104 = false;
-    bool x_105 = false;
-    bool x_124 = false;
-    bool x_125 = false;
-    bool x_144 = false;
-    bool x_145 = false;
-    bool x_164 = false;
-    bool x_165 = false;
-    v = (v + 1);
-    directions = 0;
-    bool x_92 = (p.x > 0);
-    x_105 = x_92;
-    if (x_92) {
-      x_104 = (map[((p.x - 2) + (p.y * 16))] == 0);
-      x_105 = x_104;
-    }
-    if (x_105) {
-      directions = (directions + 1);
-    }
-    bool x_112 = (p.y > 0);
-    x_125 = x_112;
-    if (x_112) {
-      x_124 = (map[(p.x + ((p.y - 2) * 16))] == 0);
-      x_125 = x_124;
-    }
-    if (x_125) {
-      directions = (directions + 1);
-    }
-    bool x_132 = (p.x < 14);
-    x_145 = x_132;
-    if (x_132) {
-      x_144 = (map[((p.x + 2) + (p.y * 16))] == 0);
-      x_145 = x_144;
-    }
-    if (x_145) {
-      directions = (directions + 1);
-    }
-    bool x_152 = (p.y < 14);
-    x_165 = x_152;
-    if (x_152) {
-      x_164 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-      x_165 = x_164;
-    }
-    if (x_165) {
-      directions = (directions + 1);
-    }
-    bool x_229 = false;
-    bool x_230 = false;
-    bool x_242 = false;
-    bool x_243 = false;
-    bool x_281 = false;
-    bool x_282 = false;
-    int x_288 = 0;
-    int x_289 = 0;
-    int x_290 = 0;
-    int x_295 = 0;
-    int x_296 = 0;
-    int x_297 = 0;
-    int x_303[256] = (int[256])0;
-    int x_304[256] = (int[256])0;
-    int x_305[256] = (int[256])0;
-    int x_315 = 0;
-    int x_316 = 0;
-    int x_317 = 0;
-    bool x_359 = false;
-    bool x_360 = false;
-    bool x_372 = false;
-    bool x_373 = false;
-    bool x_411 = false;
-    bool x_412 = false;
-    bool x_424 = false;
-    bool x_425 = false;
-    if ((directions == 0)) {
-      canwalk = false;
-      i = 0;
-      while (true) {
-        if ((i < 8)) {
-        } else {
-          break;
-        }
-        j = 0;
-        while (true) {
-          if ((j < 8)) {
-          } else {
-            break;
-          }
-          if ((map[((j * 2) + ((i * 2) * 16))] == 0)) {
-            p.x = (j * 2);
-            p.y = (i * 2);
-            canwalk = true;
-          }
-          {
-            j = (j + 1);
-          }
-        }
-        {
-          i = (i + 1);
-        }
-      }
-      int x_211 = p.x;
-      int x_213 = p.y;
-      map[(x_211 + (x_213 * 16))] = 1;
-    } else {
-      d = tint_mod(v, directions);
-      v = (v + directions);
-      bool x_224 = (d >= 0);
-      x_230 = x_224;
-      if (x_224) {
-        x_229 = (p.x > 0);
-        x_230 = x_229;
-      }
-      x_243 = x_230;
-      if (x_230) {
-        x_242 = (map[((p.x - 2) + (p.y * 16))] == 0);
-        x_243 = x_242;
-      }
-      if (x_243) {
-        d = (d - 1);
-        int x_249 = p.x;
-        int x_251 = p.y;
-        map[(x_249 + (x_251 * 16))] = 1;
-        int x_256 = p.x;
-        int x_259 = p.y;
-        map[((x_256 - 1) + (x_259 * 16))] = 1;
-        int x_264 = p.x;
-        int x_267 = p.y;
-        map[((x_264 - 2) + (x_267 * 16))] = 1;
-        p.x = (p.x - 2);
-      }
-      bool x_276 = (d >= 0);
-      x_282 = x_276;
-      if (x_276) {
-        x_281 = (p.y > 0);
-        x_282 = x_281;
-      }
-      if (x_282) {
-        x_288 = p.x;
-        x_290 = x_288;
-      } else {
-        x_289 = 0;
-        x_290 = x_289;
-      }
-      if (x_282) {
-        x_295 = p.y;
-        x_297 = x_295;
-      } else {
-        x_296 = 0;
-        x_297 = x_296;
-      }
-      int x_299 = ((x_297 - 2) * 16);
-      if (x_282) {
-        x_303 = map;
-        x_305 = x_303;
-      } else {
-        int tint_symbol_3[256] = (int[256])0;
-        x_304 = tint_symbol_3;
-        x_305 = x_304;
-      }
-      if (x_282) {
-        int tint_symbol_4[256] = (int[256])0;
-        map = tint_symbol_4;
-      }
-      if (x_282) {
-        map = x_305;
-      }
-      if (x_282) {
-        x_315 = map[(x_290 + x_299)];
-        x_317 = x_315;
-      } else {
-        x_316 = 0;
-        x_317 = x_316;
-      }
-      if ((x_282 ? (x_317 == 0) : x_282)) {
-        d = (d - 1);
-        int x_326 = p.x;
-        int x_328 = p.y;
-        map[(x_326 + (x_328 * 16))] = 1;
-        int x_333 = p.x;
-        int x_335 = p.y;
-        map[(x_333 + ((x_335 - 1) * 16))] = 1;
-        int x_341 = p.x;
-        int x_343 = p.y;
-        int x_345[256] = map;
-        int tint_symbol_5[256] = (int[256])0;
-        map = tint_symbol_5;
-        map = x_345;
-        map[(x_341 + ((x_343 - 2) * 16))] = 1;
-        p.y = (p.y - 2);
-      }
-      bool x_354 = (d >= 0);
-      x_360 = x_354;
-      if (x_354) {
-        x_359 = (p.x < 14);
-        x_360 = x_359;
-      }
-      x_373 = x_360;
-      if (x_360) {
-        x_372 = (map[((p.x + 2) + (p.y * 16))] == 0);
-        x_373 = x_372;
-      }
-      if (x_373) {
-        d = (d - 1);
-        int x_379 = p.x;
-        int x_381 = p.y;
-        map[(x_379 + (x_381 * 16))] = 1;
-        int x_386 = p.x;
-        int x_389 = p.y;
-        map[((x_386 + 1) + (x_389 * 16))] = 1;
-        int x_394 = p.x;
-        int x_397 = p.y;
-        map[((x_394 + 2) + (x_397 * 16))] = 1;
-        p.x = (p.x + 2);
-      }
-      bool x_406 = (d >= 0);
-      x_412 = x_406;
-      if (x_406) {
-        x_411 = (p.y < 14);
-        x_412 = x_411;
-      }
-      x_425 = x_412;
-      if (x_412) {
-        x_424 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-        x_425 = x_424;
-      }
-      if (x_425) {
-        d = (d - 1);
-        int x_431 = p.x;
-        int x_433 = p.y;
-        map[(x_431 + (x_433 * 16))] = 1;
-        int x_438 = p.x;
-        int x_440 = p.y;
-        map[(x_438 + ((x_440 + 1) * 16))] = 1;
-        int x_446 = p.x;
-        int x_448 = p.y;
-        map[(x_446 + ((x_448 + 2) * 16))] = 1;
-        p.y = (p.y + 2);
-      }
-    }
-    if ((map[((ipos.y * 16) + ipos.x)] == 1)) {
-      x_GLF_color = (1.0f).xxxx;
-      return;
-    }
-    {
-      bool x_468 = canwalk;
-      if (!(x_468)) { break; }
-    }
-  }
-  x_GLF_color = float4(0.0f, 0.0f, 0.0f, 1.0f);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  main_out tint_symbol_6 = {x_GLF_color};
-  return tint_symbol_6;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  main_out inner_result = main_inner(float4(tint_symbol.gl_FragCoord_param.xyz, (1.0f / tint_symbol.gl_FragCoord_param.w)));
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.dxc.hlsl
deleted file mode 100755
index 3743886..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-SKIP: INVALID
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_6 : register(b0) {
-  uint4 x_6[1];
-};
-
-void main_1() {
-  int GLF_dead6index = 0;
-  int GLF_dead6currentNode = 0;
-  int donor_replacementGLF_dead6tree[1] = (int[1])0;
-  x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  GLF_dead6index = 0;
-  if ((asfloat(x_6[0].y) < 0.0f)) {
-    while (true) {
-      if (true) {
-      } else {
-        break;
-      }
-      GLF_dead6currentNode = donor_replacementGLF_dead6tree[GLF_dead6index];
-      GLF_dead6index = GLF_dead6currentNode;
-    }
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:38: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.fxc.hlsl
deleted file mode 100755
index b0669d0..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,50 +0,0 @@
-SKIP: INVALID
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_6 : register(b0) {
-  uint4 x_6[1];
-};
-
-void main_1() {
-  int GLF_dead6index = 0;
-  int GLF_dead6currentNode = 0;
-  int donor_replacementGLF_dead6tree[1] = (int[1])0;
-  x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  GLF_dead6index = 0;
-  if ((asfloat(x_6[0].y) < 0.0f)) {
-    while (true) {
-      if (true) {
-      } else {
-        break;
-      }
-      GLF_dead6currentNode = donor_replacementGLF_dead6tree[GLF_dead6index];
-      GLF_dead6index = GLF_dead6currentNode;
-    }
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-<scrubbed_path>(13,12-15): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.dxc.hlsl
deleted file mode 100755
index ee39964..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,55 +0,0 @@
-SKIP: INVALID
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_5 : register(b0) {
-  uint4 x_5[1];
-};
-
-void main_1() {
-  int m = 0;
-  x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  if ((asfloat(x_5[0].x) > asfloat(x_5[0].y))) {
-    while (true) {
-      {
-        if (true) { break; }
-      }
-    }
-    m = 1;
-    while (true) {
-      if (true) {
-      } else {
-        break;
-      }
-      x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-    }
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:40: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100755
index 1aad7ea..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,53 +0,0 @@
-SKIP: INVALID
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-cbuffer cbuffer_x_5 : register(b0) {
-  uint4 x_5[1];
-};
-
-void main_1() {
-  int m = 0;
-  x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  if ((asfloat(x_5[0].x) > asfloat(x_5[0].y))) {
-    while (true) {
-      {
-        if (true) { break; }
-      }
-    }
-    m = 1;
-    while (true) {
-      if (true) {
-      } else {
-        break;
-      }
-      x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-    }
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-<scrubbed_path>(10,5-16): warning X3557: loop only executes for 0 iteration(s), forcing loop to unroll
-<scrubbed_path>(16,12-15): error X3696: infinite loop detected - loop never exits
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.dxc.hlsl
deleted file mode 100755
index d36339a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.dxc.hlsl
+++ /dev/null
@@ -1,117 +0,0 @@
-SKIP: INVALID
-
-void set_matrix_scalar(inout float4x3 mat, int col, int row, float val) {
-  switch (col) {
-    case 0:
-      mat[0] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[0];
-      break;
-    case 1:
-      mat[1] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[1];
-      break;
-    case 2:
-      mat[2] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[2];
-      break;
-    case 3:
-      mat[3] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[3];
-      break;
-  }
-}
-
-cbuffer cbuffer_x_9 : register(b0) {
-  uint4 x_9[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  int idx = 0;
-  float4x3 m43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int ll_1 = 0;
-  int GLF_live6rows = 0;
-  int z = 0;
-  int ll_2 = 0;
-  int ctr = 0;
-  float4x3 tempm43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int ll_3 = 0;
-  int c = 0;
-  int d = 0;
-  float GLF_live6sums[9] = (float[9])0;
-  idx = 0;
-  m43 = float4x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f), (0.0f).xxx);
-  ll_1 = 0;
-  GLF_live6rows = 2;
-  while (true) {
-    if ((ll_1 >= asint(x_9[0].x))) {
-      x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-      break;
-    }
-    ll_1 = (ll_1 + 1);
-    z = asint(x_9[0].x);
-    ll_2 = 0;
-    ctr = 0;
-    while (true) {
-      if ((ctr < 1)) {
-      } else {
-        break;
-      }
-      if ((ll_2 >= asint(x_9[0].x))) {
-        break;
-      }
-      ll_2 = (ll_2 + 1);
-      tempm43 = m43;
-      ll_3 = 0;
-      c = 0;
-      while (true) {
-        if ((1 < z)) {
-        } else {
-          break;
-        }
-        d = 0;
-        int x_29 = c;
-        int x_30 = c;
-        int x_31 = c;
-        int x_32 = d;
-        int x_33 = d;
-        int x_34 = d;
-        set_matrix_scalar(tempm43, (((x_29 >= 0) & (x_30 < 4)) ? x_31 : 0), (((x_32 >= 0) & (x_33 < 3)) ? x_34 : 0), 1.0f);
-        {
-          c = (c + 1);
-        }
-      }
-      int x_117 = (((idx >= 0) & (idx < 9)) ? idx : 0);
-      GLF_live6sums[x_117] = (GLF_live6sums[x_117] + m43[ctr].y);
-      {
-        ctr = (ctr + 1);
-      }
-    }
-    idx = (idx + 1);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-DXC validation failure:
-error: validation errors
-hlsl.hlsl:102: error: Loop must have break.
-Validation failed.
-
-
-
-tint executable returned error: exit status 1
diff --git a/tools/src/cmd/tests/main.go b/tools/src/cmd/tests/main.go
index 6e3c9d3..f2f7f62 100644
--- a/tools/src/cmd/tests/main.go
+++ b/tools/src/cmd/tests/main.go
@@ -683,6 +683,11 @@
 		// expectedFilePath is the path to the expected output file for the given test
 		expectedFilePath := j.file + ".expected."
 
+		// Only attempt to generate WGSL for SPVASM input files
+		if strings.HasSuffix(j.file, ".spvasm") && j.format != wgsl {
+			return status{code: skip, timeTaken: 0}
+		}
+
 		useIr := j.format == hlslDXCIR || j.format == hlslFXCIR
 
 		switch j.format {