[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_((¶m), (¶m_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 {