[glsl] Name padding fields consistently

Use a counter for padding fields that is unique to each
structure. This ensures that their padding members are consistently
named regardless of where in the module they are emitted, which in
turn ensures that their names match between vertex and fragment
shaders.

Bug: 42251044
Change-Id: If7527f44be40824e4387712e21e686cef8620de0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/210334
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/glsl/writer/access_test.cc b/src/tint/lang/glsl/writer/access_test.cc
index b3327e1..1c38c6d 100644
--- a/src/tint/lang/glsl/writer/access_test.cc
+++ b/src/tint/lang/glsl/writer/access_test.cc
@@ -460,15 +460,15 @@
 
 struct Outer {
   float x;
-  uint tint_pad_3;
-  uint tint_pad_4;
-  uint tint_pad_5;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   Inner y;
 };
 
 struct SB {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   Outer b;
@@ -759,7 +759,7 @@
 
 struct SB {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   Inner b;
@@ -979,7 +979,7 @@
 layout(binding = 0, std140)
 uniform v_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v_1;
 void main() {
@@ -1311,25 +1311,25 @@
 
 struct Inner_std140 {
   vec3 s_col0;
-  uint tint_pad_6;
+  uint tint_pad_0;
   vec3 s_col1;
-  uint tint_pad_7;
+  uint tint_pad_1;
   vec3 s_col2;
-  uint tint_pad_8;
+  uint tint_pad_2;
   vec3 t[5];
 };
 
 struct Outer_std140 {
   float x;
-  uint tint_pad_3;
-  uint tint_pad_4;
-  uint tint_pad_5;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   Inner_std140 y;
 };
 
 struct SB_std140 {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   Outer_std140 b;
@@ -1890,15 +1890,15 @@
 
 struct Outer {
   float x;
-  uint tint_pad_3;
-  uint tint_pad_4;
-  uint tint_pad_5;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   Inner y;
 };
 
 struct SB {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   Outer b;
@@ -1947,24 +1947,24 @@
 
 struct Inner {
   float s;
-  uint tint_pad_6;
-  uint tint_pad_7;
-  uint tint_pad_8;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   vec3 t;
-  uint tint_pad_9;
+  uint tint_pad_3;
 };
 
 struct Outer {
   float x;
-  uint tint_pad_3;
-  uint tint_pad_4;
-  uint tint_pad_5;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   Inner y;
 };
 
 struct SB {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   Outer b;
@@ -2032,15 +2032,15 @@
 
 struct Outer {
   float x;
-  uint tint_pad_3;
-  uint tint_pad_4;
-  uint tint_pad_5;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   Inner y;
 };
 
 struct SB {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   Outer b;
@@ -2116,7 +2116,7 @@
 
 struct SB {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 b;
@@ -2159,7 +2159,7 @@
 
 struct SB {
   float c;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 d;
diff --git a/src/tint/lang/glsl/writer/builtin_test.cc b/src/tint/lang/glsl/writer/builtin_test.cc
index c105b55..6f1834c 100644
--- a/src/tint/lang/glsl/writer/builtin_test.cc
+++ b/src/tint/lang/glsl/writer/builtin_test.cc
@@ -197,7 +197,7 @@
   vec4 padding;
   int a;
   uint b;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
 };
 
diff --git a/src/tint/lang/glsl/writer/printer/printer.cc b/src/tint/lang/glsl/writer/printer/printer.cc
index 5ce9bf1..0afcb89 100644
--- a/src/tint/lang/glsl/writer/printer/printer.cc
+++ b/src/tint/lang/glsl/writer/printer/printer.cc
@@ -665,12 +665,15 @@
         bool is_host_shareable = host_shareable_structs_.Contains(str);
         Vector<std::optional<uint32_t>, 4> new_struct_to_old;
 
+        // Padding members need to be named consistently between different shader stages to satisfy
+        // GLSL's interface matching rules.
+        uint32_t pad_id = 0;
         auto add_padding = [&](uint32_t size) {
             auto pad_size = size / 4;
             for (size_t i = 0; i < pad_size; ++i) {
                 std::string name;
                 do {
-                    name = UniqueIdentifier("tint_pad");
+                    name = "tint_pad_" + std::to_string(pad_id++);
                 } while (str->FindMember(ir_.symbols.Get(name)));
 
                 Line(&str_buf) << "uint " << name << ";";
diff --git a/src/tint/lang/glsl/writer/type_test.cc b/src/tint/lang/glsl/writer/type_test.cc
index 83a894c..7c074cc 100644
--- a/src/tint/lang/glsl/writer/type_test.cc
+++ b/src/tint/lang/glsl/writer/type_test.cc
@@ -1089,7 +1089,7 @@
 layout(binding = 0, std430)
 buffer S_1_ssbo {
   uint padding;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/array/strides.spvasm.expected.ir.glsl b/test/tint/array/strides.spvasm.expected.ir.glsl
index a81baf4..2de042f 100644
--- a/test/tint/array/strides.spvasm.expected.ir.glsl
+++ b/test/tint/array/strides.spvasm.expected.ir.glsl
@@ -3,11 +3,12 @@
 
 struct strided_arr {
   float el;
-  uint tint_pad;
+  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;
@@ -27,7 +28,6 @@
   uint tint_pad_17;
   uint tint_pad_18;
   uint tint_pad_19;
-  uint tint_pad_20;
 };
 
 struct S {
diff --git a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl
index 60a54fc..479d3a5 100644
--- a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
   float scalar_f32;
   int scalar_i32;
   uint scalar_u32;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 vec2_f32;
   ivec2 vec2_i32;
   uvec2 vec2_u32;
diff --git a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl
index 5f03a9f..4e6e3f6 100644
--- a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.glsl
@@ -11,7 +11,7 @@
   ivec2 vec2_i32;
   uvec2 vec2_u32;
   f16vec2 vec2_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 vec3_f32;
   uint tint_pad_1;
   ivec3 vec3_i32;
diff --git a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.glsl b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.glsl
index f288738..7d4bac2 100644
--- a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
   float scalar_f32;
   int scalar_i32;
   uint scalar_u32;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 vec2_f32;
   ivec2 vec2_i32;
   uvec2 vec2_u32;
diff --git a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.glsl b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.glsl
index 5e643a3..7f5f141 100644
--- a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.glsl
@@ -11,7 +11,7 @@
   ivec2 vec2_i32;
   uvec2 vec2_u32;
   f16vec2 vec2_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 vec3_f32;
   uint tint_pad_1;
   ivec3 vec3_i32;
diff --git a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl
index 94de858..1f86f00 100644
--- a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.glsl
@@ -10,7 +10,7 @@
   float scalar_f32;
   int scalar_i32;
   uint scalar_u32;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 vec2_f32;
   ivec2 vec2_i32;
   uvec2 vec2_u32;
diff --git a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl
index 907b9d6..2bccd8a 100644
--- a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
   ivec2 vec2_i32;
   uvec2 vec2_u32;
   f16vec2 vec2_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 vec3_f32;
   uint tint_pad_1;
   ivec3 vec3_i32;
diff --git a/test/tint/buffer/storage/static_index/write.wgsl.expected.ir.glsl b/test/tint/buffer/storage/static_index/write.wgsl.expected.ir.glsl
index 1d2216a..63b0236 100644
--- a/test/tint/buffer/storage/static_index/write.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/static_index/write.wgsl.expected.ir.glsl
@@ -10,7 +10,7 @@
   float scalar_f32;
   int scalar_i32;
   uint scalar_u32;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 vec2_f32;
   ivec2 vec2_i32;
   uvec2 vec2_u32;
diff --git a/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.glsl b/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.glsl
index 50c5b3a..51a7bf3 100644
--- a/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
   ivec2 vec2_i32;
   uvec2 vec2_u32;
   f16vec2 vec2_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 vec3_f32;
   uint tint_pad_1;
   ivec3 vec3_i32;
diff --git a/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.glsl b/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.glsl
index 0c6830c..dc3bbeb 100644
--- a/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct Inner {
   float16_t scalar_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 vec3_f16;
   f16mat2x4 mat2x4_f16;
 };
diff --git a/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.glsl b/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.glsl
index bcaa350..7876773 100644
--- a/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner {
   float scalar_f32;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 vec3_f32;
diff --git a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl
index 19ea7c5..3997675 100644
--- a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
   float scalar_f32;
   int scalar_i32;
   uint scalar_u32;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 vec2_f32;
   ivec2 vec2_i32;
   uvec2 vec2_u32;
diff --git a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl
index f23069f..c6967b2 100644
--- a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.glsl
@@ -18,7 +18,7 @@
   ivec2 vec2_i32;
   uvec2 vec2_u32;
   f16vec2 vec2_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 vec3_f32;
   uint tint_pad_1;
   ivec3 vec3_i32;
diff --git a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl
index 175b2fa..eed92a4 100644
--- a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.glsl
@@ -3,20 +3,20 @@
 
 struct Inner {
   int scalar_i32;
-  uint tint_pad_17;
-  uint tint_pad_18;
-  uint tint_pad_19;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   float scalar_f32;
-  uint tint_pad_20;
-  uint tint_pad_21;
-  uint tint_pad_22;
+  uint tint_pad_3;
+  uint tint_pad_4;
+  uint tint_pad_5;
 };
 
 struct S_std140 {
   float scalar_f32;
   int scalar_i32;
   uint scalar_u32;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 vec2_f32;
   ivec2 vec2_i32;
   uvec2 vec2_u32;
diff --git a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl
index 5e87bbb..365c199 100644
--- a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.glsl
@@ -13,7 +13,7 @@
   int scalar_i32;
   float scalar_f32;
   float16_t scalar_f16;
-  uint tint_pad_22;
+  uint tint_pad_0;
 };
 
 struct S_std140 {
@@ -25,7 +25,7 @@
   ivec2 vec2_i32;
   uvec2 vec2_u32;
   f16vec2 vec2_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 vec3_f32;
   uint tint_pad_1;
   ivec3 vec3_i32;
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 0b41385..f8ed93f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat2x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
 };
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index b7b3656..24543f1 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat2x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
 };
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
index 9aecbdc..8ccd54f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat2x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
 };
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
index b1512ad..32e027e 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat2x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
 };
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.glsl
index 28b6822..45b8eac 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat2x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
 };
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
index b3d1b72..4baea94 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat2x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
 };
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
index 2ae20a2..e68630d 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat2x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
 };
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 43762cb..2d11430 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat3x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index f9116e3..0e66d7a 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat3x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
index b20a858..2ba4367 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat3x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
index 199c1ee..1fa350b 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat3x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.glsl
index 77963c9..07d4011 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat3x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
index b06dcdd..550c3a1 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat3x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
index 3546196..ab037fb 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat3x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 0c0f00a..bb93a08 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat4x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index 57aac6c..5e19699 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat4x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
index 828cdcf..f8bedf6 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat4x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
index 4b2d388..03427f5 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat4x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.glsl
index 78f0d9b..9928c8d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat4x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
index 116f899..c0fd75a 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat4x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
index c254b86..2ff249a 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct mat4x3_f32_std140 {
   vec3 col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 col1;
   uint tint_pad_1;
   vec3 col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 328d663..e23aa51 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 struct Inner_std140 {
   f16vec2 m_col0;
   f16vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index 01dbd2e..5f79ac0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 struct Inner_std140 {
   f16vec2 m_col0;
   f16vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.glsl
index cd5692a..77f2946 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   int before;
   f16vec2 m_col0;
   f16vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.glsl
index 536ee6a..f8cf783 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   int before;
   f16vec2 m_col0;
   f16vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.glsl
index 2a64d9a..2682f8e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   int before;
   f16vec2 m_col0;
   f16vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl.expected.ir.glsl
index 8511639..f0faf65 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_storage.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   int before;
   f16vec2 m_col0;
   f16vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
@@ -40,35 +40,35 @@
 struct S {
   int before;
   f16mat2 m;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
+  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;
   int after;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
-  uint tint_pad_48;
-  uint tint_pad_49;
-  uint tint_pad_50;
-  uint tint_pad_51;
-  uint tint_pad_52;
-  uint tint_pad_53;
-  uint tint_pad_54;
-  uint tint_pad_55;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
+  uint tint_pad_24;
+  uint tint_pad_25;
+  uint tint_pad_26;
+  uint tint_pad_27;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.glsl
index b10dc23..6dfe11d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   int before;
   f16vec2 m_col0;
   f16vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 2c7e4fd..db5eee9 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 struct Inner_std140 {
   vec2 m_col0;
   vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index c6e6a57..4724648 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 struct Inner_std140 {
   vec2 m_col0;
   vec2 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.glsl
index 444ab59..038f2ba2 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.glsl
index 68ffbd3..ecb6df3 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_private.wgsl.expected.ir.glsl
index 4e4967f..afd9eb0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_storage.wgsl.expected.ir.glsl
index 2bad0c5..998b9ba 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   uint tint_pad_1;
@@ -36,34 +36,34 @@
 
 struct S {
   int before;
-  uint tint_pad_26;
+  uint tint_pad_0;
   mat2 m;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
+  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;
   int after;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
-  uint tint_pad_48;
-  uint tint_pad_49;
-  uint tint_pad_50;
-  uint tint_pad_51;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
+  uint tint_pad_24;
+  uint tint_pad_25;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_workgroup.wgsl.expected.ir.glsl
index a2bf0d7..d630c7a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index cf7e951..20343da 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 struct Inner_std140 {
   f16vec3 m_col0;
   f16vec3 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index f23b875..142ed42 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 struct Inner_std140 {
   f16vec3 m_col0;
   f16vec3 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.glsl
index a88586f..7e0f999 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.glsl
index a09a9b1f..123e06a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.glsl
index 63a11e4..b22b5f1 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl.expected.ir.glsl
index ac5dea5..bf2d026 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_storage.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   uint tint_pad_1;
@@ -37,34 +37,34 @@
 
 struct S {
   int before;
-  uint tint_pad_26;
+  uint tint_pad_0;
   f16mat2x3 m;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
+  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;
   int after;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
-  uint tint_pad_48;
-  uint tint_pad_49;
-  uint tint_pad_50;
-  uint tint_pad_51;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
+  uint tint_pad_24;
+  uint tint_pad_25;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.glsl
index f8a1d16..c3cf744 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 38cfc5a..4d2d2e1 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner_std140 {
   vec3 m_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 m_col1;
   uint tint_pad_1;
   uint tint_pad_2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index ca0fbd8..b3e4fc0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner_std140 {
   vec3 m_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 m_col1;
   uint tint_pad_1;
   uint tint_pad_2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
index 4e6172f..2ecc267 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
index 763c055..0ff1911 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_private.wgsl.expected.ir.glsl
index d75a641..ee21a22 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
index 1b575e9..e6198e8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
@@ -34,30 +34,30 @@
 
 struct S {
   int before;
-  uint tint_pad_24;
-  uint tint_pad_25;
-  uint tint_pad_26;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   mat2x3 m;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
+  uint tint_pad_3;
+  uint tint_pad_4;
+  uint tint_pad_5;
+  uint tint_pad_6;
   int after;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
index de7b45a..c0722e7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 736afc9..ed7b9a5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 struct Inner_std140 {
   f16vec4 m_col0;
   f16vec4 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index e344e73..74fbdf7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 struct Inner_std140 {
   f16vec4 m_col0;
   f16vec4 m_col1;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.glsl
index 7e8f4d8..e1e6e4a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.glsl
index 27f06bb..5d03635 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.glsl
index 152f578..f97899b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl.expected.ir.glsl
index 1250a2c..c51630b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_storage.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   uint tint_pad_1;
@@ -37,34 +37,34 @@
 
 struct S {
   int before;
-  uint tint_pad_26;
+  uint tint_pad_0;
   f16mat2x4 m;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
+  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;
   int after;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
-  uint tint_pad_48;
-  uint tint_pad_49;
-  uint tint_pad_50;
-  uint tint_pad_51;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
+  uint tint_pad_24;
+  uint tint_pad_25;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.glsl
index a998b31..33934c7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   uint tint_pad_1;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 2054ab0..c114c20 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner {
   mat2x4 m;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index 50eb0cc..3988ac7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner {
   mat2x4 m;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.glsl
index 35afb19..71ff87a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat2x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.glsl
index a5a6a91..52411d3 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat2x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_private.wgsl.expected.ir.glsl
index 8804dbe..80bc319 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat2x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_storage.wgsl.expected.ir.glsl
index 0d594fe..ab3506b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat2x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_workgroup.wgsl.expected.ir.glsl
index 23dfa48..1213a03 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat2x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 1dca006..1c3c492 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   f16vec2 m_col0;
   f16vec2 m_col1;
   f16vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index b008c60..5b755fe 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   f16vec2 m_col0;
   f16vec2 m_col1;
   f16vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.glsl
index 2dbed4f..797df5f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec2 m_col0;
   f16vec2 m_col1;
   f16vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.glsl
index e8280f2..2ab4c47 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec2 m_col0;
   f16vec2 m_col1;
   f16vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.glsl
index a4aa5d9..3cb6992 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec2 m_col0;
   f16vec2 m_col1;
   f16vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl.expected.ir.glsl
index 510b30b..bbd4ce7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_storage.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec2 m_col0;
   f16vec2 m_col1;
   f16vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
@@ -40,34 +40,34 @@
 struct S {
   int before;
   f16mat3x2 m;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
+  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;
   int after;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
-  uint tint_pad_48;
-  uint tint_pad_49;
-  uint tint_pad_50;
-  uint tint_pad_51;
-  uint tint_pad_52;
-  uint tint_pad_53;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
+  uint tint_pad_24;
+  uint tint_pad_25;
+  uint tint_pad_26;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.glsl
index 4e10190..450d9df 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec2 m_col0;
   f16vec2 m_col1;
   f16vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 81b37d1..3aee2c4 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index f613824..47b928b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.glsl
index 4bc32c0..a851187 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.glsl
index b1e20aa..6968ab3 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_private.wgsl.expected.ir.glsl
index 8537219..1c0643d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_storage.wgsl.expected.ir.glsl
index 2f40bbd..2422238 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
@@ -35,32 +35,32 @@
 
 struct S {
   int before;
-  uint tint_pad_24;
+  uint tint_pad_0;
   mat3x2 m;
-  uint tint_pad_25;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
+  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;
   int after;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_workgroup.wgsl.expected.ir.glsl
index 0ea63f9..c5ed0f6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index e645121..455d0b4 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index 9dbd4c8..1c257c6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.glsl
index f58ea39..ae4a1ee 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.glsl
index cbd85fa..1398210 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.glsl
index c2a4d6b..2dc44ab 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl.expected.ir.glsl
index 48cdacc..bf132e1 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_storage.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
@@ -36,32 +36,32 @@
 
 struct S {
   int before;
-  uint tint_pad_24;
+  uint tint_pad_0;
   f16mat3 m;
-  uint tint_pad_25;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
+  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;
   int after;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.glsl
index 4d59022..d558b4a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 2904404a..e97442a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner_std140 {
   vec3 m_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 m_col1;
   uint tint_pad_1;
   vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index 380ed1b..2024298 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner_std140 {
   vec3 m_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 m_col1;
   uint tint_pad_1;
   vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
index 5f72d36..75f8ab5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
index 44cbb70..8a2cad5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_private.wgsl.expected.ir.glsl
index 35a3027..bc49cae 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
index b77533c..354a040 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
@@ -32,26 +32,26 @@
 
 struct S {
   int before;
-  uint tint_pad_21;
-  uint tint_pad_22;
-  uint tint_pad_23;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   mat3 m;
   int after;
-  uint tint_pad_24;
-  uint tint_pad_25;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
+  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;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
index 4653bf2..ed77118 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index df58d4e..6b1561f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index 76082ad..48bf44c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.glsl
index 1b95408..71ef942 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.glsl
index 5ad2531..bab47a0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.glsl
index 47744e3..8a1468b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl.expected.ir.glsl
index 02bc337..49f1c39 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_storage.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
@@ -36,32 +36,32 @@
 
 struct S {
   int before;
-  uint tint_pad_24;
+  uint tint_pad_0;
   f16mat3x4 m;
-  uint tint_pad_25;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
+  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;
   int after;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.glsl
index bc7a086..b8e7e3b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index c3f7113..8aabfb5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner {
   mat3x4 m;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index efcad6d..79e6ace 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner {
   mat3x4 m;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.glsl
index d34e8a1..428a9b8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat3x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.glsl
index 75d6f73..e6cef1c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat3x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_private.wgsl.expected.ir.glsl
index d6bbd10..0e2af14 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat3x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_storage.wgsl.expected.ir.glsl
index ef400f4..60f5014 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat3x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_workgroup.wgsl.expected.ir.glsl
index 6012aac..53f577f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat3x4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 015712f..aa115bf 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec2 m_col1;
   f16vec2 m_col2;
   f16vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index 1318e92..f9334ca 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec2 m_col1;
   f16vec2 m_col2;
   f16vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.glsl
index 33f04a4..e0ab6e0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   f16vec2 m_col1;
   f16vec2 m_col2;
   f16vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.glsl
index 4c6a29e..a9d1d9f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   f16vec2 m_col1;
   f16vec2 m_col2;
   f16vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.glsl
index 3911176..f2bd934 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   f16vec2 m_col1;
   f16vec2 m_col2;
   f16vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl.expected.ir.glsl
index d6c7a54..7842a1b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_storage.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   f16vec2 m_col1;
   f16vec2 m_col2;
   f16vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
@@ -40,33 +40,33 @@
 struct S {
   int before;
   f16mat4x2 m;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
+  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;
   int after;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
-  uint tint_pad_48;
-  uint tint_pad_49;
-  uint tint_pad_50;
-  uint tint_pad_51;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
+  uint tint_pad_24;
+  uint tint_pad_25;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.glsl
index 281bd4a..c191da8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   f16vec2 m_col1;
   f16vec2 m_col2;
   f16vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 9394fe7..09acd19 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   vec2 m_col1;
   vec2 m_col2;
   vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index be0018b..849ce31 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
   vec2 m_col1;
   vec2 m_col2;
   vec2 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.glsl
index 9364cff..895ed9f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.glsl
index e7f8cce..db8dd7d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_private.wgsl.expected.ir.glsl
index 081bcaa..ceb5290 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_storage.wgsl.expected.ir.glsl
index b7d96a4..b25fdab 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
@@ -34,30 +34,30 @@
 
 struct S {
   int before;
-  uint tint_pad_22;
+  uint tint_pad_0;
   mat4x2 m;
-  uint tint_pad_23;
-  uint tint_pad_24;
-  uint tint_pad_25;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
+  uint tint_pad_1;
+  uint tint_pad_2;
+  uint tint_pad_3;
+  uint tint_pad_4;
+  uint tint_pad_5;
+  uint tint_pad_6;
   int after;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_workgroup.wgsl.expected.ir.glsl
index 772e02e..07f81bb 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   vec2 m_col0;
   vec2 m_col1;
   vec2 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index f915674..95f8b41 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec3 m_col1;
   f16vec3 m_col2;
   f16vec3 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index 4e1a9e6..9f94fc9 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec3 m_col1;
   f16vec3 m_col2;
   f16vec3 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.glsl
index a7def91..0814a93 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.glsl
index 306e801..d551cc6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.glsl
index eed4c2a..c59bd07 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl.expected.ir.glsl
index 9c6481c..336d07e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_storage.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
@@ -35,30 +35,30 @@
 
 struct S {
   int before;
-  uint tint_pad_22;
+  uint tint_pad_0;
   f16mat4x3 m;
-  uint tint_pad_23;
-  uint tint_pad_24;
-  uint tint_pad_25;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
+  uint tint_pad_1;
+  uint tint_pad_2;
+  uint tint_pad_3;
+  uint tint_pad_4;
+  uint tint_pad_5;
+  uint tint_pad_6;
   int after;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.glsl
index a9a2b66..9757e8b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 m_col0;
   f16vec3 m_col1;
   f16vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 04a0a11..aa45997 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner_std140 {
   vec3 m_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 m_col1;
   uint tint_pad_1;
   vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index b842b15..95226bd 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner_std140 {
   vec3 m_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 m_col1;
   uint tint_pad_1;
   vec3 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
index 15dcab6..81aeeae 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
index 84b2668..bd36f51 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_private.wgsl.expected.ir.glsl
index 97db9ba..16f6722 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
index 7936e46..603426d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
@@ -46,38 +46,38 @@
 
 struct S {
   int before;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
   mat4x3 m;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
-  uint tint_pad_44;
-  uint tint_pad_45;
-  uint tint_pad_46;
-  uint tint_pad_47;
-  uint tint_pad_48;
+  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;
   int after;
-  uint tint_pad_49;
-  uint tint_pad_50;
-  uint tint_pad_51;
-  uint tint_pad_52;
-  uint tint_pad_53;
-  uint tint_pad_54;
-  uint tint_pad_55;
-  uint tint_pad_56;
-  uint tint_pad_57;
-  uint tint_pad_58;
-  uint tint_pad_59;
-  uint tint_pad_60;
-  uint tint_pad_61;
-  uint tint_pad_62;
-  uint tint_pad_63;
+  uint tint_pad_15;
+  uint tint_pad_16;
+  uint tint_pad_17;
+  uint tint_pad_18;
+  uint tint_pad_19;
+  uint tint_pad_20;
+  uint tint_pad_21;
+  uint tint_pad_22;
+  uint tint_pad_23;
+  uint tint_pad_24;
+  uint tint_pad_25;
+  uint tint_pad_26;
+  uint tint_pad_27;
+  uint tint_pad_28;
+  uint tint_pad_29;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
index 3c94fcb..bf9ad96 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 m_col0;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index c5fbf6d..27fbfa0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec4 m_col1;
   f16vec4 m_col2;
   f16vec4 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
index 93e1543..fd9333e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   f16vec4 m_col1;
   f16vec4 m_col2;
   f16vec4 m_col3;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.glsl
index fc904c9..176798f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.glsl
index 8adc219..3f1aa6f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.glsl
index 5da4c7a..c8a3e6c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl.expected.ir.glsl
index e152758..e71033b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_storage.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
@@ -35,30 +35,30 @@
 
 struct S {
   int before;
-  uint tint_pad_22;
+  uint tint_pad_0;
   f16mat4 m;
-  uint tint_pad_23;
-  uint tint_pad_24;
-  uint tint_pad_25;
-  uint tint_pad_26;
-  uint tint_pad_27;
-  uint tint_pad_28;
+  uint tint_pad_1;
+  uint tint_pad_2;
+  uint tint_pad_3;
+  uint tint_pad_4;
+  uint tint_pad_5;
+  uint tint_pad_6;
   int after;
-  uint tint_pad_29;
-  uint tint_pad_30;
-  uint tint_pad_31;
-  uint tint_pad_32;
-  uint tint_pad_33;
-  uint tint_pad_34;
-  uint tint_pad_35;
-  uint tint_pad_36;
-  uint tint_pad_37;
-  uint tint_pad_38;
-  uint tint_pad_39;
-  uint tint_pad_40;
-  uint tint_pad_41;
-  uint tint_pad_42;
-  uint tint_pad_43;
+  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;
+  uint tint_pad_20;
+  uint tint_pad_21;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.glsl
index 70ace14..0e535af 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct S_std140 {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec4 m_col0;
   f16vec4 m_col1;
   f16vec4 m_col2;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.glsl
index 63d0115..3369166 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.glsl
index f6f9976..148d516 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_private.wgsl.expected.ir.glsl
index 87e9957..ec25492 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_storage.wgsl.expected.ir.glsl
index dace01a..605db75 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat4 m;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_workgroup.wgsl.expected.ir.glsl
index f1432aa..bdfc7e9 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int before;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat4 m;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 144ae8b..ce71ccc 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform m_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v;
 int counter = 0;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index e1f3500..0e01181 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform m_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v;
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
index e9bbc66..91d8e2b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v;
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
index 76d2f2f..6ab8cb4 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v_1;
 void a(mat2x3 m) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.glsl
index 9a9f472..fe107f8 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v;
 mat2x3 p = mat2x3(vec3(0.0f), vec3(0.0f));
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
index dfa11b9..1421c15 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v;
 layout(binding = 1, std430)
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
index 2c92e95..d9ee799 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v;
 shared mat2x3 w;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index e8b5711..eb73759 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform m_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index 62ba7bd..fa6d337 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform m_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
index 4ae3aa3..2161ccd 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
index d029e7a..f6a07c9 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.glsl
index 5b3c217..06c7bee 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
index f571afb..481832b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
index 9af336d..0a26083 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
index 8f128e6..29d53c1 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform m_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
index 02d66b2..a8ffb67 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform m_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
index 88ddef3..c39b9e1 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
index 59fb96b..d736a93 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.glsl
index 9f735c1..95f5303 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
index a75919e..00b647e 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
index fda8ed0..e72b9b7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/types/mat2x3_f32.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/types/mat2x3_f32.wgsl.expected.ir.glsl
index 76f7565..222aa1e 100644
--- a/test/tint/buffer/uniform/types/mat2x3_f32.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/types/mat2x3_f32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
 } v;
 layout(binding = 1, std430)
diff --git a/test/tint/buffer/uniform/types/mat3x3_f32.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/types/mat3x3_f32.wgsl.expected.ir.glsl
index 108cabc..785b42b 100644
--- a/test/tint/buffer/uniform/types/mat3x3_f32.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/types/mat3x3_f32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/types/mat4x3_f32.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/types/mat4x3_f32.wgsl.expected.ir.glsl
index 6f2287c..a5c36d6 100644
--- a/test/tint/buffer/uniform/types/mat4x3_f32.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/types/mat4x3_f32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 layout(binding = 0, std140)
 uniform u_block_std140_1_ubo {
   vec3 inner_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 inner_col1;
   uint tint_pad_1;
   vec3 inner_col2;
diff --git a/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.glsl
index 69502a9..dc5cc85 100644
--- a/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 struct Inner_std140 {
   float16_t scalar_f16;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 vec3_f16;
   f16vec4 mat2x4_f16_col0;
   f16vec4 mat2x4_f16_col1;
@@ -16,7 +16,7 @@
 
 struct Inner {
   float16_t scalar_f16;
-  uint tint_pad_1;
+  uint tint_pad_0;
   f16vec3 vec3_f16;
   f16mat2x4 mat2x4_f16;
 };
diff --git a/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.glsl b/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.glsl
index aa2fc53..31fb117 100644
--- a/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.glsl
+++ b/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Inner {
   float scalar_f32;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec3 vec3_f32;
diff --git a/test/tint/bug/chromium/1273230.wgsl.expected.ir.glsl b/test/tint/bug/chromium/1273230.wgsl.expected.ir.glsl
index eb6de3a..a004ee5 100644
--- a/test/tint/bug/chromium/1273230.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/1273230.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   uint puuuuuuuuuuuuuuuuad1;
   uint pad2;
   vec3 bbMin;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 bbMax;
   uint tint_pad_1;
 };
diff --git a/test/tint/bug/chromium/1434271.wgsl.expected.ir.glsl b/test/tint/bug/chromium/1434271.wgsl.expected.ir.glsl
index 686b2dc..2a80028 100644
--- a/test/tint/bug/chromium/1434271.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/1434271.wgsl.expected.ir.glsl
@@ -44,7 +44,7 @@
 struct RenderParams {
   mat4 modelViewProjectionMatrix;
   vec3 right;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 up;
   uint tint_pad_1;
 };
@@ -94,7 +94,7 @@
 
 struct SimulationParams {
   float deltaTime;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec4 seed;
@@ -105,8 +105,8 @@
   float lifetime;
   vec4 color;
   vec2 velocity;
-  uint tint_pad_3;
-  uint tint_pad_4;
+  uint tint_pad_0;
+  uint tint_pad_1;
 };
 
 vec2 rand_seed = vec2(0.0f);
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.glsl b/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.glsl
index e1e2c5e..be3bdf9 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 struct UBO {
   ivec4 data[4];
   int dynamic_idx;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
 };
diff --git a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.glsl b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.glsl
index d7a943c..62f77d5 100644
--- a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.glsl
+++ b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 struct Particle {
   vec3 position[8];
   float lifetime;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec4 color;
diff --git a/test/tint/bug/tint/1046.wgsl.expected.ir.glsl b/test/tint/bug/tint/1046.wgsl.expected.ir.glsl
index a37dc47..18b811f 100644
--- a/test/tint/bug/tint/1046.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1046.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   mat4 proj;
   uint numPointLights;
   uint color_source;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   vec4 color;
 };
diff --git a/test/tint/bug/tint/1088.spvasm.expected.ir.glsl b/test/tint/bug/tint/1088.spvasm.expected.ir.glsl
index e5fa3dc..fd5647d 100644
--- a/test/tint/bug/tint/1088.spvasm.expected.ir.glsl
+++ b/test/tint/bug/tint/1088.spvasm.expected.ir.glsl
@@ -3,15 +3,15 @@
 
 struct strided_arr {
   float el;
-  uint tint_pad_3;
-  uint tint_pad_4;
-  uint tint_pad_5;
+  uint tint_pad_0;
+  uint tint_pad_1;
+  uint tint_pad_2;
 };
 
 struct LeftOver {
   mat4 worldViewProjection;
   float time;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   mat4 test2[2];
diff --git a/test/tint/bug/tint/1113.wgsl.expected.ir.glsl b/test/tint/bug/tint/1113.wgsl.expected.ir.glsl
index bb567f7..79e6097 100644
--- a/test/tint/bug/tint/1113.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1113.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   uint pad1;
   uint pad2;
   vec3 bbMin;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 bbMax;
   uint tint_pad_1;
 };
@@ -124,7 +124,7 @@
   uint pad1;
   uint pad2;
   vec3 bbMin;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 bbMax;
   uint tint_pad_1;
 };
@@ -205,7 +205,7 @@
   uint pad1;
   uint pad2;
   vec3 bbMin;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 bbMax;
   uint tint_pad_1;
 };
diff --git a/test/tint/bug/tint/1520.spvasm.expected.ir.glsl b/test/tint/bug/tint/1520.spvasm.expected.ir.glsl
index 7191b57..991e403 100644
--- a/test/tint/bug/tint/1520.spvasm.expected.ir.glsl
+++ b/test/tint/bug/tint/1520.spvasm.expected.ir.glsl
@@ -4,7 +4,7 @@
 
 
 struct UniformBuffer_std140 {
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/bug/tint/1534.wgsl.expected.ir.glsl b/test/tint/bug/tint/1534.wgsl.expected.ir.glsl
index 5fd1091..274ecb3 100644
--- a/test/tint/bug/tint/1534.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1534.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct g {
   uvec3 a;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 struct h {
diff --git a/test/tint/bug/tint/1542.wgsl.expected.ir.glsl b/test/tint/bug/tint/1542.wgsl.expected.ir.glsl
index e95e361..695e99b 100644
--- a/test/tint/bug/tint/1542.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1542.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct UniformBuffer {
   ivec3 d;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/bug/tint/1677.wgsl.expected.ir.glsl b/test/tint/bug/tint/1677.wgsl.expected.ir.glsl
index 9d452fd..e742e7a 100644
--- a/test/tint/bug/tint/1677.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1677.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Input {
   ivec3 position;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std430)
diff --git a/test/tint/bug/tint/1739.wgsl.expected.ir.glsl b/test/tint/bug/tint/1739.wgsl.expected.ir.glsl
index 93e3abe..7f0cda8 100644
--- a/test/tint/bug/tint/1739.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1739.wgsl.expected.ir.glsl
@@ -15,7 +15,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/bug/tint/1776.spvasm.expected.ir.glsl b/test/tint/bug/tint/1776.spvasm.expected.ir.glsl
index 215cdb1..d82f0ba 100644
--- a/test/tint/bug/tint/1776.spvasm.expected.ir.glsl
+++ b/test/tint/bug/tint/1776.spvasm.expected.ir.glsl
@@ -4,7 +4,7 @@
 struct S {
   vec4 a;
   int b;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
 };
diff --git a/test/tint/bug/tint/1776.wgsl.expected.ir.glsl b/test/tint/bug/tint/1776.wgsl.expected.ir.glsl
index 9d0238e..230400c 100644
--- a/test/tint/bug/tint/1776.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1776.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 struct S {
   vec4 a;
   int b;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
 };
diff --git a/test/tint/bug/tint/2076.wgsl.expected.ir.glsl b/test/tint/bug/tint/2076.wgsl.expected.ir.glsl
index 6253ce5..4c12d92 100644
--- a/test/tint/bug/tint/2076.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/2076.wgsl.expected.ir.glsl
@@ -15,7 +15,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/bug/tint/2100.wgsl.expected.ir.glsl b/test/tint/bug/tint/2100.wgsl.expected.ir.glsl
index 1ea6f6d..cc282f3 100644
--- a/test/tint/bug/tint/2100.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/2100.wgsl.expected.ir.glsl
@@ -4,7 +4,7 @@
 struct S_std140 {
   mat4 matrix_view;
   vec3 matrix_normal_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 matrix_normal_col1;
   uint tint_pad_1;
   vec3 matrix_normal_col2;
diff --git a/test/tint/bug/tint/294.wgsl.expected.ir.glsl b/test/tint/bug/tint/294.wgsl.expected.ir.glsl
index 69e2447..aec85dc 100644
--- a/test/tint/bug/tint/294.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/294.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct Light {
   vec3 position;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 colour;
   uint tint_pad_1;
 };
diff --git a/test/tint/bug/tint/349310442.wgsl.expected.ir.glsl b/test/tint/bug/tint/349310442.wgsl.expected.ir.glsl
index 3f61b2b..d32fc53 100644
--- a/test/tint/bug/tint/349310442.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/349310442.wgsl.expected.ir.glsl
@@ -15,7 +15,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/bug/tint/870.spvasm.expected.ir.glsl b/test/tint/bug/tint/870.spvasm.expected.ir.glsl
index b1fb0f1..2bedf5e 100644
--- a/test/tint/bug/tint/870.spvasm.expected.ir.glsl
+++ b/test/tint/bug/tint/870.spvasm.expected.ir.glsl
@@ -8,7 +8,7 @@
   vec4 offset;
   int essence;
   int orientation[6];
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 struct x_B4_BuildInformation {
diff --git a/test/tint/bug/tint/948.wgsl.expected.ir.glsl b/test/tint/bug/tint/948.wgsl.expected.ir.glsl
index dc6d226..878117a 100644
--- a/test/tint/bug/tint/948.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/948.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
 struct LeftOver {
   float time;
   uint padding;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat4 worldViewProjection;
   vec2 outputSize;
diff --git a/test/tint/bug/tint/949.wgsl.expected.ir.glsl b/test/tint/bug/tint/949.wgsl.expected.ir.glsl
index 6881b71..85167ba 100644
--- a/test/tint/bug/tint/949.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/949.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   mat4 u_ViewProjection;
   float u_bumpStrength;
   uint padding;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   vec3 u_cameraPosition;
   float u_parallaxScale;
@@ -25,8 +25,8 @@
   uint padding_2;
   vec4 shadowsInfo;
   vec2 depthValues;
-  uint tint_pad_2;
-  uint tint_pad_3;
+  uint tint_pad_0;
+  uint tint_pad_1;
 };
 
 struct lightingInfo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.glsl
index a84c9c6..3642932 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -98,7 +98,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -180,7 +180,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.glsl
index cb2e4d8..e26d058 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -132,7 +132,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -248,7 +248,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.glsl
index aa9d43b..e2f3f66 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -133,7 +133,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -250,7 +250,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl
index e6b08b4..77cf7b3 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -130,7 +130,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -244,7 +244,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.glsl
index a84c9c6..3642932 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -98,7 +98,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -180,7 +180,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.glsl
index 9536dc4..b119af8 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -134,7 +134,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -252,7 +252,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.glsl
index 290cc4f..5e7dae4 100644
--- a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -134,7 +134,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -252,7 +252,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl
index 5c0b540..82e7937 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.glsl
@@ -17,7 +17,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -132,7 +132,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -248,7 +248,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.glsl b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.glsl
index 7327c50..34dfc49 100644
--- a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.glsl
@@ -15,7 +15,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -137,7 +137,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
@@ -250,7 +250,7 @@
 struct tint_ExternalTextureParams_std140 {
   uint numPlanes;
   uint doYuvToRgbConversionOnly;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   mat3x4 yuvToRgbConversionMatrix;
   tint_GammaTransferParams gammaDecodeParams;
diff --git a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.ir.glsl
index e1433be..0aef2c0 100644
--- a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.ir.glsl
@@ -8,7 +8,7 @@
   f16vec2 matrix_col0;
   f16vec2 matrix_col1;
   f16vec2 matrix_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   f16vec3 vector;
 };
 
diff --git a/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.ir.glsl
index 5580cf8..b365f5a 100644
--- a/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
   vec2 matrix_col0;
   vec2 matrix_col1;
   vec2 matrix_col2;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   vec3 vector;
   uint tint_pad_2;
diff --git a/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.ir.glsl
index b0ecfbe..447453f 100644
--- a/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 
 struct S_std140 {
   vec3 matrix_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 matrix_col1;
   uint tint_pad_1;
   vec3 matrix_col2;
diff --git a/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.ir.glsl
index 36b4e0d..dc6851b 100644
--- a/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 
 struct S_std140 {
   vec3 matrix_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 matrix_col1;
   uint tint_pad_1;
   vec3 matrix_col2;
diff --git a/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.ir.glsl
index e2e68ad..d5c7834 100644
--- a/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.ir.glsl
@@ -5,7 +5,7 @@
 
 struct S_std140 {
   vec3 matrix_col0;
-  uint tint_pad;
+  uint tint_pad_0;
   vec3 matrix_col1;
   uint tint_pad_1;
   vec3 matrix_col2;
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.glsl b/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.glsl
index cd570ec..6d28109 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   vec3 v;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.glsl
index 979549d..b536185 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   ivec3 v;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.glsl b/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.glsl
index 76253d6..3f334ae 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   uvec3 v;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std140)
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.glsl b/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.glsl
index 8b3a428..46a010c 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   vec3 v;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std430)
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.glsl
index 9a92126..94ee51a 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   ivec3 v;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std430)
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.glsl b/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.glsl
index 4dbe64f..5e85ea0 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   uvec3 v;
-  uint tint_pad;
+  uint tint_pad_0;
 };
 
 layout(binding = 0, std430)
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.glsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.glsl
index 1b9dfb8..4cd0453 100644
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.glsl
+++ b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct strided_arr {
   vec2 el;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
 };
 
diff --git a/test/tint/statements/compound_assign/for_loop.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/for_loop.wgsl.expected.ir.glsl
index dbfc6ac..af5db78 100644
--- a/test/tint/statements/compound_assign/for_loop.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/for_loop.wgsl.expected.ir.glsl
@@ -3,7 +3,7 @@
 
 struct S {
   int a;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   vec4 b;
diff --git a/test/tint/types/functions/shader_io/attributes_on_struct_not_used_for_interface.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/attributes_on_struct_not_used_for_interface.wgsl.expected.ir.glsl
index 2492f54..561d875 100644
--- a/test/tint/types/functions/shader_io/attributes_on_struct_not_used_for_interface.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/attributes_on_struct_not_used_for_interface.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
 struct S {
   float f;
   uint u;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/types/functions/shader_io/shared_struct_storage_buffer.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/shared_struct_storage_buffer.wgsl.expected.ir.glsl
index eccfd50..1f19288 100644
--- a/test/tint/types/functions/shader_io/shared_struct_storage_buffer.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/shared_struct_storage_buffer.wgsl.expected.ir.glsl
@@ -6,7 +6,7 @@
 struct S {
   float f;
   uint u;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;
diff --git a/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.ir.glsl
index 7318407..177c31a 100644
--- a/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.ir.glsl
@@ -7,7 +7,7 @@
 struct S {
   float f;
   uint u;
-  uint tint_pad;
+  uint tint_pad_0;
   uint tint_pad_1;
   uint tint_pad_2;
   uint tint_pad_3;