HLSL-IR: regen skips

Time to update them.

Change-Id: Ibd299f84728bc9d50cc17a4a5734819b9d4d7153
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/210337
Reviewed-by: James Price <jrprice@google.com>
Auto-Submit: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
diff --git a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl
index d971d07..d384bc3 100644
--- a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl
@@ -8,11 +8,11 @@
 ByteAddressBuffer sb : register(t0);
 RWByteAddressBuffer s : register(u1);
 int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 int tint_f16_to_i32(float16_t value) {
-  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 matrix<float16_t, 4, 2> v(uint offset) {
@@ -216,28 +216,28 @@
   int v_73 = ((v_72 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
   int v_74 = (v_73 + int(vec4_u32[2u]));
   int v_75 = (v_74 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_76 = (v_75 + tint_f32_to_i32(mat2x2_f32[0][0u]));
-  int v_77 = (v_76 + tint_f32_to_i32(mat2x3_f32[0][0u]));
-  int v_78 = (v_77 + tint_f32_to_i32(mat2x4_f32[0][0u]));
-  int v_79 = (v_78 + tint_f32_to_i32(mat3x2_f32[0][0u]));
-  int v_80 = (v_79 + tint_f32_to_i32(mat3x3_f32[0][0u]));
-  int v_81 = (v_80 + tint_f32_to_i32(mat3x4_f32[0][0u]));
-  int v_82 = (v_81 + tint_f32_to_i32(mat4x2_f32[0][0u]));
-  int v_83 = (v_82 + tint_f32_to_i32(mat4x3_f32[0][0u]));
-  int v_84 = (v_83 + tint_f32_to_i32(mat4x4_f32[0][0u]));
-  int v_85 = (v_84 + tint_f16_to_i32(mat2x2_f16[0][0u]));
-  int v_86 = (v_85 + tint_f16_to_i32(mat2x3_f16[0][0u]));
-  int v_87 = (v_86 + tint_f16_to_i32(mat2x4_f16[0][0u]));
-  int v_88 = (v_87 + tint_f16_to_i32(mat3x2_f16[0][0u]));
-  int v_89 = (v_88 + tint_f16_to_i32(mat3x3_f16[0][0u]));
-  int v_90 = (v_89 + tint_f16_to_i32(mat3x4_f16[0][0u]));
-  int v_91 = (v_90 + tint_f16_to_i32(mat4x2_f16[0][0u]));
-  int v_92 = (v_91 + tint_f16_to_i32(mat4x3_f16[0][0u]));
-  int v_93 = (v_92 + tint_f16_to_i32(mat4x4_f16[0][0u]));
+  int v_76 = (v_75 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_77 = (v_76 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_78 = (v_77 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_79 = (v_78 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_80 = (v_79 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_81 = (v_80 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_82 = (v_81 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_83 = (v_82 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_84 = (v_83 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_85 = (v_84 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_86 = (v_85 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_87 = (v_86 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_88 = (v_87 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_89 = (v_88 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_90 = (v_89 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_91 = (v_90 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_92 = (v_91 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_93 = (v_92 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
   matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_63;
-  int v_94 = (v_93 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u]));
+  int v_94 = (v_93 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u]));
   float3 arr2_vec3_f32[2] = v_62;
-  s.Store(0u, asuint((v_94 + tint_f32_to_i32(arr2_vec3_f32[0][0u]))));
+  s.Store(0u, asuint((v_94 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.fxc.hlsl
index 4760460..a5d8b1e 100644
--- a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.fxc.hlsl
@@ -154,25 +154,25 @@
   uint v_24 = (0u + (uint(idx) * 800u));
   sb.Store(v_24, asuint(0.0f));
   uint v_25 = (4u + (uint(idx) * 800u));
-  sb.Store(v_25, asuint(0));
+  sb.Store(v_25, asuint(int(0)));
   sb.Store((8u + (uint(idx) * 800u)), 0u);
   sb.Store<float16_t>((12u + (uint(idx) * 800u)), float16_t(0.0h));
   uint v_26 = (16u + (uint(idx) * 800u));
   sb.Store2(v_26, asuint((0.0f).xx));
   uint v_27 = (24u + (uint(idx) * 800u));
-  sb.Store2(v_27, asuint((0).xx));
+  sb.Store2(v_27, asuint(int2((int(0)).xx)));
   sb.Store2((32u + (uint(idx) * 800u)), (0u).xx);
   sb.Store<vector<float16_t, 2> >((40u + (uint(idx) * 800u)), (float16_t(0.0h)).xx);
   uint v_28 = (48u + (uint(idx) * 800u));
   sb.Store3(v_28, asuint((0.0f).xxx));
   uint v_29 = (64u + (uint(idx) * 800u));
-  sb.Store3(v_29, asuint((0).xxx));
+  sb.Store3(v_29, asuint(int3((int(0)).xxx)));
   sb.Store3((80u + (uint(idx) * 800u)), (0u).xxx);
   sb.Store<vector<float16_t, 3> >((96u + (uint(idx) * 800u)), (float16_t(0.0h)).xxx);
   uint v_30 = (112u + (uint(idx) * 800u));
   sb.Store4(v_30, asuint((0.0f).xxxx));
   uint v_31 = (128u + (uint(idx) * 800u));
-  sb.Store4(v_31, asuint((0).xxxx));
+  sb.Store4(v_31, asuint(int4((int(0)).xxxx)));
   sb.Store4((144u + (uint(idx) * 800u)), (0u).xxxx);
   sb.Store<vector<float16_t, 4> >((160u + (uint(idx) * 800u)), (float16_t(0.0h)).xxxx);
   v_23((168u + (uint(idx) * 800u)), float2x2((0.0f).xx, (0.0f).xx));
diff --git a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.fxc.hlsl
index d4e1141..51e96bc 100644
--- a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.fxc.hlsl
@@ -10,11 +10,11 @@
 ByteAddressBuffer sb : register(t0);
 RWByteAddressBuffer s : register(u1);
 int tint_f16_to_i32(float16_t value) {
-  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 Inner v(uint offset) {
@@ -251,30 +251,30 @@
   int v_84 = ((v_83 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
   int v_85 = (v_84 + int(vec4_u32[2u]));
   int v_86 = (v_85 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_87 = (v_86 + tint_f32_to_i32(mat2x2_f32[0][0u]));
-  int v_88 = (v_87 + tint_f32_to_i32(mat2x3_f32[0][0u]));
-  int v_89 = (v_88 + tint_f32_to_i32(mat2x4_f32[0][0u]));
-  int v_90 = (v_89 + tint_f32_to_i32(mat3x2_f32[0][0u]));
-  int v_91 = (v_90 + tint_f32_to_i32(mat3x3_f32[0][0u]));
-  int v_92 = (v_91 + tint_f32_to_i32(mat3x4_f32[0][0u]));
-  int v_93 = (v_92 + tint_f32_to_i32(mat4x2_f32[0][0u]));
-  int v_94 = (v_93 + tint_f32_to_i32(mat4x3_f32[0][0u]));
-  int v_95 = (v_94 + tint_f32_to_i32(mat4x4_f32[0][0u]));
-  int v_96 = (v_95 + tint_f16_to_i32(mat2x2_f16[0][0u]));
-  int v_97 = (v_96 + tint_f16_to_i32(mat2x3_f16[0][0u]));
-  int v_98 = (v_97 + tint_f16_to_i32(mat2x4_f16[0][0u]));
-  int v_99 = (v_98 + tint_f16_to_i32(mat3x2_f16[0][0u]));
-  int v_100 = (v_99 + tint_f16_to_i32(mat3x3_f16[0][0u]));
-  int v_101 = (v_100 + tint_f16_to_i32(mat3x4_f16[0][0u]));
-  int v_102 = (v_101 + tint_f16_to_i32(mat4x2_f16[0][0u]));
-  int v_103 = (v_102 + tint_f16_to_i32(mat4x3_f16[0][0u]));
-  int v_104 = (v_103 + tint_f16_to_i32(mat4x4_f16[0][0u]));
+  int v_87 = (v_86 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_88 = (v_87 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_89 = (v_88 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_90 = (v_89 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_91 = (v_90 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_92 = (v_91 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_93 = (v_92 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_94 = (v_93 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_95 = (v_94 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_96 = (v_95 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_97 = (v_96 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_98 = (v_97 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_99 = (v_98 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_100 = (v_99 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_101 = (v_100 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_102 = (v_101 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_103 = (v_102 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_104 = (v_103 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
   float3 arr2_vec3_f32[2] = v_71;
-  int v_105 = (v_104 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+  int v_105 = (v_104 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
   matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_72;
   Inner struct_inner = v_73;
   Inner array_struct_inner[4] = v_74;
-  s.Store(0u, asuint((((v_105 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u])) + struct_inner.scalar_i32) + array_struct_inner[0].scalar_i32)));
+  s.Store(0u, asuint((((v_105 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.fxc.hlsl
index d4e8c29..a91bf4c 100644
--- a/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/storage/static_index/write_f16.wgsl.expected.ir.fxc.hlsl
@@ -180,19 +180,19 @@
 [numthreads(1, 1, 1)]
 void main() {
   sb.Store(0u, asuint(0.0f));
-  sb.Store(4u, asuint(0));
+  sb.Store(4u, asuint(int(0)));
   sb.Store(8u, 0u);
   sb.Store<float16_t>(12u, float16_t(0.0h));
   sb.Store2(16u, asuint((0.0f).xx));
-  sb.Store2(24u, asuint((0).xx));
+  sb.Store2(24u, asuint(int2((int(0)).xx)));
   sb.Store2(32u, (0u).xx);
   sb.Store<vector<float16_t, 2> >(40u, (float16_t(0.0h)).xx);
   sb.Store3(48u, asuint((0.0f).xxx));
-  sb.Store3(64u, asuint((0).xxx));
+  sb.Store3(64u, asuint(int3((int(0)).xxx)));
   sb.Store3(80u, (0u).xxx);
   sb.Store<vector<float16_t, 3> >(96u, (float16_t(0.0h)).xxx);
   sb.Store4(112u, asuint((0.0f).xxxx));
-  sb.Store4(128u, asuint((0).xxxx));
+  sb.Store4(128u, asuint(int4((int(0)).xxxx)));
   sb.Store4(144u, (0u).xxxx);
   sb.Store<vector<float16_t, 4> >(160u, (float16_t(0.0h)).xxxx);
   v_28(168u, float2x2((0.0f).xx, (0.0f).xx));
diff --git a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl
index 4ac2c95..36bf4c5 100644
--- a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.fxc.hlsl
@@ -10,11 +10,11 @@
 };
 RWByteAddressBuffer s : register(u1);
 int tint_f16_to_i32(float16_t value) {
-  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 vector<float16_t, 2> tint_bitcast_to_f16(uint src) {
@@ -229,14 +229,22 @@
   uint v_96 = (40u + (800u * uint(idx)));
   uint4 v_97 = ub[(v_96 / 16u)];
   vector<float16_t, 2> vec2_f16 = tint_bitcast_to_f16((((((v_96 % 16u) / 4u) == 2u)) ? (v_97.z) : (v_97.x)));
-  float3 vec3_f32 = asfloat(ub[((48u + (800u * uint(idx))) / 16u)].xyz);
-  int3 vec3_i32 = asint(ub[((64u + (800u * uint(idx))) / 16u)].xyz);
-  uint3 vec3_u32 = ub[((80u + (800u * uint(idx))) / 16u)].xyz;
-  vector<float16_t, 3> vec3_f16 = tint_bitcast_to_f16_1(ub[((96u + (800u * uint(idx))) / 16u)]).xyz;
-  float4 vec4_f32 = asfloat(ub[((112u + (800u * uint(idx))) / 16u)]);
-  int4 vec4_i32 = asint(ub[((128u + (800u * uint(idx))) / 16u)]);
-  uint4 vec4_u32 = ub[((144u + (800u * uint(idx))) / 16u)];
-  vector<float16_t, 4> vec4_f16 = tint_bitcast_to_f16_1(ub[((160u + (800u * uint(idx))) / 16u)]);
+  uint v_98 = ((48u + (800u * uint(idx))) / 16u);
+  float3 vec3_f32 = asfloat(ub[v_98].xyz);
+  uint v_99 = ((64u + (800u * uint(idx))) / 16u);
+  int3 vec3_i32 = asint(ub[v_99].xyz);
+  uint v_100 = ((80u + (800u * uint(idx))) / 16u);
+  uint3 vec3_u32 = ub[v_100].xyz;
+  uint v_101 = ((96u + (800u * uint(idx))) / 16u);
+  vector<float16_t, 3> vec3_f16 = tint_bitcast_to_f16_1(ub[v_101]).xyz;
+  uint v_102 = ((112u + (800u * uint(idx))) / 16u);
+  float4 vec4_f32 = asfloat(ub[v_102]);
+  uint v_103 = ((128u + (800u * uint(idx))) / 16u);
+  int4 vec4_i32 = asint(ub[v_103]);
+  uint v_104 = ((144u + (800u * uint(idx))) / 16u);
+  uint4 vec4_u32 = ub[v_104];
+  uint v_105 = ((160u + (800u * uint(idx))) / 16u);
+  vector<float16_t, 4> vec4_f16 = tint_bitcast_to_f16_1(ub[v_105]);
   float2x2 mat2x2_f32 = v_81((168u + (800u * uint(idx))));
   float2x3 mat2x3_f32 = v_79((192u + (800u * uint(idx))));
   float2x4 mat2x4_f32 = v_77((224u + (800u * uint(idx))));
@@ -255,42 +263,42 @@
   matrix<float16_t, 4, 2> mat4x2_f16 = v_2((648u + (800u * uint(idx))));
   matrix<float16_t, 4, 3> mat4x3_f16 = v_25((664u + (800u * uint(idx))));
   matrix<float16_t, 4, 4> mat4x4_f16 = v_21((696u + (800u * uint(idx))));
-  float3 v_98[2] = v_14((736u + (800u * uint(idx))));
-  matrix<float16_t, 4, 2> v_99[2] = v_10((768u + (800u * uint(idx))));
-  int v_100 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_101 = (v_100 + int(scalar_u32));
-  int v_102 = (v_101 + tint_f16_to_i32(scalar_f16));
-  int v_103 = ((v_102 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_104 = (v_103 + int(vec2_u32[0u]));
-  int v_105 = (v_104 + tint_f16_to_i32(vec2_f16[0u]));
-  int v_106 = ((v_105 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_107 = (v_106 + int(vec3_u32[1u]));
-  int v_108 = (v_107 + tint_f16_to_i32(vec3_f16[1u]));
-  int v_109 = ((v_108 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_110 = (v_109 + int(vec4_u32[2u]));
-  int v_111 = (v_110 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_112 = (v_111 + tint_f32_to_i32(mat2x2_f32[0][0u]));
-  int v_113 = (v_112 + tint_f32_to_i32(mat2x3_f32[0][0u]));
-  int v_114 = (v_113 + tint_f32_to_i32(mat2x4_f32[0][0u]));
-  int v_115 = (v_114 + tint_f32_to_i32(mat3x2_f32[0][0u]));
-  int v_116 = (v_115 + tint_f32_to_i32(mat3x3_f32[0][0u]));
-  int v_117 = (v_116 + tint_f32_to_i32(mat3x4_f32[0][0u]));
-  int v_118 = (v_117 + tint_f32_to_i32(mat4x2_f32[0][0u]));
-  int v_119 = (v_118 + tint_f32_to_i32(mat4x3_f32[0][0u]));
-  int v_120 = (v_119 + tint_f32_to_i32(mat4x4_f32[0][0u]));
-  int v_121 = (v_120 + tint_f16_to_i32(mat2x2_f16[0][0u]));
-  int v_122 = (v_121 + tint_f16_to_i32(mat2x3_f16[0][0u]));
-  int v_123 = (v_122 + tint_f16_to_i32(mat2x4_f16[0][0u]));
-  int v_124 = (v_123 + tint_f16_to_i32(mat3x2_f16[0][0u]));
-  int v_125 = (v_124 + tint_f16_to_i32(mat3x3_f16[0][0u]));
-  int v_126 = (v_125 + tint_f16_to_i32(mat3x4_f16[0][0u]));
-  int v_127 = (v_126 + tint_f16_to_i32(mat4x2_f16[0][0u]));
-  int v_128 = (v_127 + tint_f16_to_i32(mat4x3_f16[0][0u]));
-  int v_129 = (v_128 + tint_f16_to_i32(mat4x4_f16[0][0u]));
-  float3 arr2_vec3_f32[2] = v_98;
-  int v_130 = (v_129 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
-  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_99;
-  s.Store(0u, asuint((v_130 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u]))));
+  float3 v_106[2] = v_14((736u + (800u * uint(idx))));
+  matrix<float16_t, 4, 2> v_107[2] = v_10((768u + (800u * uint(idx))));
+  int v_108 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_109 = (v_108 + int(scalar_u32));
+  int v_110 = (v_109 + tint_f16_to_i32(scalar_f16));
+  int v_111 = ((v_110 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_112 = (v_111 + int(vec2_u32[0u]));
+  int v_113 = (v_112 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_114 = ((v_113 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_115 = (v_114 + int(vec3_u32[1u]));
+  int v_116 = (v_115 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_117 = ((v_116 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_118 = (v_117 + int(vec4_u32[2u]));
+  int v_119 = (v_118 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_120 = (v_119 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_121 = (v_120 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_122 = (v_121 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_123 = (v_122 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_124 = (v_123 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_125 = (v_124 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_126 = (v_125 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_127 = (v_126 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_128 = (v_127 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_129 = (v_128 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_130 = (v_129 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_131 = (v_130 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_132 = (v_131 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_133 = (v_132 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_134 = (v_133 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_135 = (v_134 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_136 = (v_135 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_137 = (v_136 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
+  float3 arr2_vec3_f32[2] = v_106;
+  int v_138 = (v_137 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
+  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_107;
+  s.Store(0u, asuint((v_138 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.fxc.hlsl
index ac9d05b..f1fbadd 100644
--- a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.fxc.hlsl
@@ -12,11 +12,11 @@
 };
 RWByteAddressBuffer s : register(u1);
 int tint_f16_to_i32(float16_t value) {
-  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 Inner v_1(uint start_byte_offset) {
@@ -292,30 +292,30 @@
   int v_108 = ((v_107 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
   int v_109 = (v_108 + int(vec4_u32[2u]));
   int v_110 = (v_109 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_111 = (v_110 + tint_f32_to_i32(mat2x2_f32[0][0u]));
-  int v_112 = (v_111 + tint_f32_to_i32(mat2x3_f32[0][0u]));
-  int v_113 = (v_112 + tint_f32_to_i32(mat2x4_f32[0][0u]));
-  int v_114 = (v_113 + tint_f32_to_i32(mat3x2_f32[0][0u]));
-  int v_115 = (v_114 + tint_f32_to_i32(mat3x3_f32[0][0u]));
-  int v_116 = (v_115 + tint_f32_to_i32(mat3x4_f32[0][0u]));
-  int v_117 = (v_116 + tint_f32_to_i32(mat4x2_f32[0][0u]));
-  int v_118 = (v_117 + tint_f32_to_i32(mat4x3_f32[0][0u]));
-  int v_119 = (v_118 + tint_f32_to_i32(mat4x4_f32[0][0u]));
-  int v_120 = (v_119 + tint_f16_to_i32(mat2x2_f16[0][0u]));
-  int v_121 = (v_120 + tint_f16_to_i32(mat2x3_f16[0][0u]));
-  int v_122 = (v_121 + tint_f16_to_i32(mat2x4_f16[0][0u]));
-  int v_123 = (v_122 + tint_f16_to_i32(mat3x2_f16[0][0u]));
-  int v_124 = (v_123 + tint_f16_to_i32(mat3x3_f16[0][0u]));
-  int v_125 = (v_124 + tint_f16_to_i32(mat3x4_f16[0][0u]));
-  int v_126 = (v_125 + tint_f16_to_i32(mat4x2_f16[0][0u]));
-  int v_127 = (v_126 + tint_f16_to_i32(mat4x3_f16[0][0u]));
-  int v_128 = (v_127 + tint_f16_to_i32(mat4x4_f16[0][0u]));
+  int v_111 = (v_110 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_112 = (v_111 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_113 = (v_112 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_114 = (v_113 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_115 = (v_114 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_116 = (v_115 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_117 = (v_116 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_118 = (v_117 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_119 = (v_118 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_120 = (v_119 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_121 = (v_120 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_122 = (v_121 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_123 = (v_122 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_124 = (v_123 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_125 = (v_124 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_126 = (v_125 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_127 = (v_126 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_128 = (v_127 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
   float3 arr2_vec3_f32[2] = v_95;
-  int v_129 = (v_128 + tint_f32_to_i32(arr2_vec3_f32[0][0u]));
+  int v_129 = (v_128 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
   matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_96;
   Inner struct_inner = v_97;
   Inner array_struct_inner[4] = v_98;
-  s.Store(0u, asuint((((v_129 + tint_f16_to_i32(arr2_mat4x2_f16[0][0][0u])) + struct_inner.scalar_i32) + array_struct_inner[0].scalar_i32)));
+  s.Store(0u, asuint((((v_129 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 2d1c374..cd53a89 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -5,9 +5,9 @@
   uint4 a[4];
 };
 RWByteAddressBuffer s : register(u1);
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
@@ -59,7 +59,7 @@
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[((v_10 + v_11) / 16u)]).xyz;
   uint v_13 = a[((v_10 + v_11) / 16u)][(((v_10 + v_11) % 16u) / 4u)];
   matrix<float16_t, 2, 3> l_a[4] = v_12;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_13 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_13 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 8ec44d8..6076bd3 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -50,7 +50,7 @@
   matrix<float16_t, 2, 3> l_a_i = v_4(32u);
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[2u]).xyz;
   matrix<float16_t, 2, 3> l_a[4] = v_10;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].z)) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
index 67a75e7..afa788e 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
@@ -28,7 +28,7 @@
   float16_t l = length(tint_bitcast_to_f16(u[0u]).xyz.zxy);
   float16_t a = abs(tint_bitcast_to_f16(u[0u]).xyz.zxy[0u]);
   float16_t v_6 = float16_t(a);
-  s.Store<float16_t>(0u, ((v_6 + float16_t(l)) + t[0][0u]));
+  s.Store<float16_t>(0u, ((v_6 + float16_t(l)) + t[int(0)][0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl
index 0785811..debd77a 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,11 @@
 };
 RWByteAddressBuffer s : register(u1);
 float16_t a(matrix<float16_t, 2, 3> a_1[4]) {
-  return a_1[0][0][0u];
+  return a_1[int(0)][int(0)][0u];
 }
 
 float16_t b(matrix<float16_t, 2, 3> m) {
-  return m[0][0u];
+  return m[int(0)][0u];
 }
 
 float16_t c(vector<float16_t, 3> v) {
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index e835a92..89cf9d5 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -49,10 +49,10 @@
 void f() {
   matrix<float16_t, 2, 3> v_10[4] = v_6(0u);
   p = v_10;
-  p[1] = v_4(32u);
-  p[1][0] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  p[1][0][0u] = float16_t(f16tof32(u[0u].z));
-  s.Store<float16_t>(0u, p[1][0].x);
+  p[int(1)] = v_4(32u);
+  p[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  p[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
+  s.Store<float16_t>(0u, p[int(1)][int(0)].x);
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 5560f81..05915db 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -68,10 +68,10 @@
   GroupMemoryBarrierWithGroupSync();
   matrix<float16_t, 2, 3> v_12[4] = v_6(0u);
   w = v_12;
-  w[1] = v_4(32u);
-  w[1][0] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  w[1][0][0u] = float16_t(f16tof32(u[0u].z));
-  s.Store<float16_t>(0u, w[1][0].x);
+  w[int(1)] = v_4(32u);
+  w[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  w[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
+  s.Store<float16_t>(0u, w[int(1)][int(0)].x);
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 6af936f..2109706 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -5,9 +5,9 @@
   uint4 a[4];
 };
 RWByteAddressBuffer s : register(u1);
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
@@ -59,7 +59,7 @@
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[((v_10 + v_11) / 16u)]);
   uint v_13 = a[((v_10 + v_11) / 16u)][(((v_10 + v_11) % 16u) / 4u)];
   matrix<float16_t, 2, 4> l_a[4] = v_12;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_13 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_13 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 19b4bd1..a0af546 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -50,7 +50,7 @@
   matrix<float16_t, 2, 4> l_a_i = v_4(32u);
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[2u]);
   matrix<float16_t, 2, 4> l_a[4] = v_10;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].z)) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
index 4d79057..9c9af8b 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
@@ -27,7 +27,7 @@
   matrix<float16_t, 4, 2> t = transpose(v_4(32u));
   float16_t l = length(tint_bitcast_to_f16(u[0u]).ywxz);
   float16_t a = abs(tint_bitcast_to_f16(u[0u]).ywxz[0u]);
-  float16_t v_6 = (t[0][0u] + float16_t(l));
+  float16_t v_6 = (t[int(0)][0u] + float16_t(l));
   s.Store<float16_t>(0u, (v_6 + float16_t(a)));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl
index a0351ba..6b93e28 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,11 @@
 };
 RWByteAddressBuffer s : register(u1);
 float16_t a(matrix<float16_t, 2, 4> a_1[4]) {
-  return a_1[0][0][0u];
+  return a_1[int(0)][int(0)][0u];
 }
 
 float16_t b(matrix<float16_t, 2, 4> m) {
-  return m[0][0u];
+  return m[int(0)][0u];
 }
 
 float16_t c(vector<float16_t, 4> v) {
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 3057e69..3c1c9a9 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -49,10 +49,10 @@
 void f() {
   matrix<float16_t, 2, 4> v_10[4] = v_6(0u);
   p = v_10;
-  p[1] = v_4(32u);
-  p[1][0] = tint_bitcast_to_f16(u[0u]).ywxz;
-  p[1][0][0u] = float16_t(f16tof32(u[0u].z));
-  s.Store<float16_t>(0u, p[1][0].x);
+  p[int(1)] = v_4(32u);
+  p[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  p[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
+  s.Store<float16_t>(0u, p[int(1)][int(0)].x);
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index a6c26ad..3437aa8 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -67,9 +67,9 @@
   GroupMemoryBarrierWithGroupSync();
   matrix<float16_t, 2, 4> v_12[4] = v_6(0u);
   w = v_12;
-  w[1] = v_4(32u);
-  w[1][0] = tint_bitcast_to_f16(u[0u]).ywxz;
-  w[1][0][0u] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = v_4(32u);
+  w[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  w[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 03ce7a1..6694808 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -5,9 +5,9 @@
   uint4 a[4];
 };
 RWByteAddressBuffer s : register(u1);
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
@@ -62,7 +62,7 @@
   vector<float16_t, 2> l_a_i_i = tint_bitcast_to_f16(((((((v_14 + v_15) % 16u) / 4u) == 2u)) ? (v_17.z) : (v_17.x)));
   uint v_18 = a[((v_14 + v_15) / 16u)][(((v_14 + v_15) % 16u) / 4u)];
   matrix<float16_t, 4, 2> l_a[4] = v_16;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_18 >> (((((v_14 + v_15) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_18 >> (((((v_14 + v_15) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index bd6b069..75e393b 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -52,7 +52,7 @@
   matrix<float16_t, 4, 2> l_a_i = v_2(32u);
   vector<float16_t, 2> l_a_i_i = tint_bitcast_to_f16(a[2u].x);
   matrix<float16_t, 4, 2> l_a[4] = v_14;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].y)) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].y)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
index fee9e4b..eb3cdf7 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
@@ -29,7 +29,7 @@
   matrix<float16_t, 2, 4> t = transpose(v_2(32u));
   float16_t l = length(tint_bitcast_to_f16(u[0u].x).yx);
   float16_t a = abs(tint_bitcast_to_f16(u[0u].x).yx[0u]);
-  float16_t v_10 = (t[0][0u] + float16_t(l));
+  float16_t v_10 = (t[int(0)][0u] + float16_t(l));
   s.Store<float16_t>(0u, (v_10 + float16_t(a)));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.fxc.hlsl
index b925656..00b6467 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,11 @@
 };
 RWByteAddressBuffer s : register(u1);
 float16_t a(matrix<float16_t, 4, 2> a_1[4]) {
-  return a_1[0][0][0u];
+  return a_1[int(0)][int(0)][0u];
 }
 
 float16_t b(matrix<float16_t, 4, 2> m) {
-  return m[0][0u];
+  return m[int(0)][0u];
 }
 
 float16_t c(vector<float16_t, 2> v) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 892be80..102c883 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -51,10 +51,10 @@
 void f() {
   matrix<float16_t, 4, 2> v_14[4] = v_10(0u);
   p = v_14;
-  p[1] = v_2(32u);
-  p[1][0] = tint_bitcast_to_f16(u[0u].x).yx;
-  p[1][0][0u] = float16_t(f16tof32(u[0u].y));
-  s.Store<float16_t>(0u, p[1][0].x);
+  p[int(1)] = v_2(32u);
+  p[int(1)][int(0)] = tint_bitcast_to_f16(u[0u].x).yx;
+  p[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].y));
+  s.Store<float16_t>(0u, p[int(1)][int(0)].x);
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index f5ec261..b63b7cf 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -69,9 +69,9 @@
   GroupMemoryBarrierWithGroupSync();
   matrix<float16_t, 4, 2> v_16[4] = v_10(0u);
   w = v_16;
-  w[1] = v_2(32u);
-  w[1][0] = tint_bitcast_to_f16(u[0u].x).yx;
-  w[1][0][0u] = float16_t(f16tof32(u[0u].y));
+  w[int(1)] = v_2(32u);
+  w[int(1)][int(0)] = tint_bitcast_to_f16(u[0u].x).yx;
+  w[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].y));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 356a407..13a9b18 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -5,9 +5,9 @@
   uint4 a[8];
 };
 RWByteAddressBuffer s : register(u1);
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
@@ -61,7 +61,7 @@
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[((v_12 + v_13) / 16u)]).xyz;
   uint v_15 = a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)];
   matrix<float16_t, 4, 3> l_a[4] = v_14;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_15 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_15 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 3cc925e..8c53769 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -52,7 +52,7 @@
   matrix<float16_t, 4, 3> l_a_i = v_4(64u);
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[4u]).xyz;
   matrix<float16_t, 4, 3> l_a[4] = v_12;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[4u].z)) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[4u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
index e2b2fe0..d0dadd5 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
@@ -29,7 +29,7 @@
   matrix<float16_t, 3, 4> t = transpose(v_4(64u));
   float16_t l = length(tint_bitcast_to_f16(u[0u]).xyz.zxy);
   float16_t a = abs(tint_bitcast_to_f16(u[0u]).xyz.zxy[0u]);
-  float16_t v_8 = (t[0][0u] + float16_t(l));
+  float16_t v_8 = (t[int(0)][0u] + float16_t(l));
   s.Store<float16_t>(0u, (v_8 + float16_t(a)));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl
index 0bebf4f..4bd492f 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,11 @@
 };
 RWByteAddressBuffer s : register(u1);
 float16_t a(matrix<float16_t, 4, 3> a_1[4]) {
-  return a_1[0][0][0u];
+  return a_1[int(0)][int(0)][0u];
 }
 
 float16_t b(matrix<float16_t, 4, 3> m) {
-  return m[0][0u];
+  return m[int(0)][0u];
 }
 
 float16_t c(vector<float16_t, 3> v) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 9b5e8b9..2880c80 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -51,10 +51,10 @@
 void f() {
   matrix<float16_t, 4, 3> v_12[4] = v_8(0u);
   p = v_12;
-  p[1] = v_4(64u);
-  p[1][0] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  p[1][0][0u] = float16_t(f16tof32(u[0u].z));
-  s.Store<float16_t>(0u, p[1][0].x);
+  p[int(1)] = v_4(64u);
+  p[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  p[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
+  s.Store<float16_t>(0u, p[int(1)][int(0)].x);
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index a14620a..82bc38c 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -69,9 +69,9 @@
   GroupMemoryBarrierWithGroupSync();
   matrix<float16_t, 4, 3> v_14[4] = v_8(0u);
   w = v_14;
-  w[1] = v_4(64u);
-  w[1][0] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  w[1][0][0u] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = v_4(64u);
+  w[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  w[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 9894293..bbcab62 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -5,9 +5,9 @@
   uint4 a[8];
 };
 RWByteAddressBuffer s : register(u1);
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
@@ -61,7 +61,7 @@
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[((v_12 + v_13) / 16u)]);
   uint v_15 = a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)];
   matrix<float16_t, 4, 4> l_a[4] = v_14;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_15 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_15 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 294eedc..e0fe38d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -52,7 +52,7 @@
   matrix<float16_t, 4, 4> l_a_i = v_4(64u);
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[4u]);
   matrix<float16_t, 4, 4> l_a[4] = v_12;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[4u].z)) + l_a[0][0][0u]) + l_a_i[0][0u]) + l_a_i_i[0u]));
+  s.Store<float16_t>(0u, (((float16_t(f16tof32(a[4u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
index 83697b4..13e83e4 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.fxc.hlsl
@@ -29,7 +29,7 @@
   matrix<float16_t, 4, 4> t = transpose(v_4(64u));
   float16_t l = length(tint_bitcast_to_f16(u[0u]).ywxz);
   float16_t a = abs(tint_bitcast_to_f16(u[0u]).ywxz[0u]);
-  float16_t v_8 = (t[0][0u] + float16_t(l));
+  float16_t v_8 = (t[int(0)][0u] + float16_t(l));
   s.Store<float16_t>(0u, (v_8 + float16_t(a)));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl
index 39854fc..781ce83 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,11 @@
 };
 RWByteAddressBuffer s : register(u1);
 float16_t a(matrix<float16_t, 4, 4> a_1[4]) {
-  return a_1[0][0][0u];
+  return a_1[int(0)][int(0)][0u];
 }
 
 float16_t b(matrix<float16_t, 4, 4> m) {
-  return m[0][0u];
+  return m[int(0)][0u];
 }
 
 float16_t c(vector<float16_t, 4> v) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index bbdf456..9f26d9c 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -51,10 +51,10 @@
 void f() {
   matrix<float16_t, 4, 4> v_12[4] = v_8(0u);
   p = v_12;
-  p[1] = v_4(64u);
-  p[1][0] = tint_bitcast_to_f16(u[0u]).ywxz;
-  p[1][0][0u] = float16_t(f16tof32(u[0u].z));
-  s.Store<float16_t>(0u, p[1][0].x);
+  p[int(1)] = v_4(64u);
+  p[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  p[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
+  s.Store<float16_t>(0u, p[int(1)][int(0)].x);
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index c0600c6..72b1e49 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -69,9 +69,9 @@
   GroupMemoryBarrierWithGroupSync();
   matrix<float16_t, 4, 4> v_14[4] = v_8(0u);
   w = v_14;
-  w[1] = v_4(64u);
-  w[1][0] = tint_bitcast_to_f16(u[0u]).ywxz;
-  w[1][0][0u] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = v_4(64u);
+  w[int(1)][int(0)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  w[int(1)][int(0)][0u] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 3dc026d..bc7045c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
index f03edb1..29dc175 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -61,9 +61,9 @@
   S v_15[4] = v_10(0u);
   p = v_15;
   S v_16 = v_6(256u);
-  p[1] = v_16;
-  p[3].m = v_2(260u);
-  p[1].m[0] = tint_bitcast_to_f16(u[0u].z).yx;
+  p[int(1)] = v_16;
+  p[int(3)].m = v_2(260u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[0u].z).yx;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 9befba3..02af699 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -81,9 +81,9 @@
   S v_18[4] = v_10(0u);
   w = v_18;
   S v_19 = v_6(256u);
-  w[1] = v_19;
-  w[3].m = v_2(260u);
-  w[1].m[0] = tint_bitcast_to_f16(u[0u].z).yx;
+  w[int(1)] = v_19;
+  w[int(3)].m = v_2(260u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[0u].z).yx;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 48e5c69..0d7ac52 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 878b5b0..b196a17 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -63,9 +63,9 @@
   S v_15[4] = v_10(0u);
   p = v_15;
   S v_16 = v_6(256u);
-  p[1] = v_16;
-  p[3].m = v_4(264u);
-  p[1].m[0] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
+  p[int(1)] = v_16;
+  p[int(3)].m = v_4(264u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index e71f1c9..3229fe0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -83,9 +83,9 @@
   S v_18[4] = v_10(0u);
   w = v_18;
   S v_19 = v_6(256u);
-  w[1] = v_19;
-  w[3].m = v_4(264u);
-  w[1].m[0] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
+  w[int(1)] = v_19;
+  w[int(3)].m = v_4(264u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 6322b3b..f880148 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 3fff194..55e2932 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -63,9 +63,9 @@
   S v_15[4] = v_10(0u);
   p = v_15;
   S v_16 = v_6(256u);
-  p[1] = v_16;
-  p[3].m = v_4(264u);
-  p[1].m[0] = tint_bitcast_to_f16(u[1u]).ywxz;
+  p[int(1)] = v_16;
+  p[int(3)].m = v_4(264u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).ywxz;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 710fe1b..622c46b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -83,9 +83,9 @@
   S v_18[4] = v_10(0u);
   w = v_18;
   S v_19 = v_6(256u);
-  w[1] = v_19;
-  w[3].m = v_4(264u);
-  w[1].m[0] = tint_bitcast_to_f16(u[1u]).ywxz;
+  w[int(1)] = v_19;
+  w[int(3)].m = v_4(264u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).ywxz;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 90afb41..f258609 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 3169d70..18f7967 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -63,9 +63,9 @@
   S v_17[4] = v_12(0u);
   p = v_17;
   S v_18 = v_8(256u);
-  p[1] = v_18;
-  p[3].m = v_2(260u);
-  p[1].m[0] = tint_bitcast_to_f16(u[0u].z).yx;
+  p[int(1)] = v_18;
+  p[int(3)].m = v_2(260u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[0u].z).yx;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index bf45186..e9e57c6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -83,9 +83,9 @@
   S v_20[4] = v_12(0u);
   w = v_20;
   S v_21 = v_8(256u);
-  w[1] = v_21;
-  w[3].m = v_2(260u);
-  w[1].m[0] = tint_bitcast_to_f16(u[0u].z).yx;
+  w[int(1)] = v_21;
+  w[int(3)].m = v_2(260u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[0u].z).yx;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 9840383..6426f9f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 1546e92..44e39c8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -64,9 +64,9 @@
   S v_16[4] = v_11(0u);
   p = v_16;
   S v_17 = v_7(256u);
-  p[1] = v_17;
-  p[3].m = v_4(264u);
-  p[1].m[0] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
+  p[int(1)] = v_17;
+  p[int(3)].m = v_4(264u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 5837cfd..7c17d90 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -84,9 +84,9 @@
   S v_19[4] = v_11(0u);
   w = v_19;
   S v_20 = v_7(256u);
-  w[1] = v_20;
-  w[3].m = v_4(264u);
-  w[1].m[0] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
+  w[int(1)] = v_20;
+  w[int(3)].m = v_4(264u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index b0a8062..0715468 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 36799b3..c14df8c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -64,9 +64,9 @@
   S v_16[4] = v_11(0u);
   p = v_16;
   S v_17 = v_7(256u);
-  p[1] = v_17;
-  p[3].m = v_4(264u);
-  p[1].m[0] = tint_bitcast_to_f16(u[1u]).ywxz;
+  p[int(1)] = v_17;
+  p[int(3)].m = v_4(264u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).ywxz;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 61dc91b..6d40d0b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -84,9 +84,9 @@
   S v_19[4] = v_11(0u);
   w = v_19;
   S v_20 = v_7(256u);
-  w[1] = v_20;
-  w[3].m = v_4(264u);
-  w[1].m[0] = tint_bitcast_to_f16(u[1u]).ywxz;
+  w[int(1)] = v_20;
+  w[int(3)].m = v_4(264u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).ywxz;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index d436349..e9864fd 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 91707be..192eb6b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -65,9 +65,9 @@
   S v_19[4] = v_14(0u);
   p = v_19;
   S v_20 = v_10(256u);
-  p[1] = v_20;
-  p[3].m = v_2(260u);
-  p[1].m[0] = tint_bitcast_to_f16(u[0u].z).yx;
+  p[int(1)] = v_20;
+  p[int(3)].m = v_2(260u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[0u].z).yx;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 8d92659..6d4dfcc 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -85,9 +85,9 @@
   S v_22[4] = v_14(0u);
   w = v_22;
   S v_23 = v_10(256u);
-  w[1] = v_23;
-  w[3].m = v_2(260u);
-  w[1].m[0] = tint_bitcast_to_f16(u[0u].z).yx;
+  w[int(1)] = v_23;
+  w[int(3)].m = v_2(260u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[0u].z).yx;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 76e7f4e..13f7d13 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 16f2648..0a6e179 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -65,9 +65,9 @@
   S v_17[4] = v_12(0u);
   p = v_17;
   S v_18 = v_8(256u);
-  p[1] = v_18;
-  p[3].m = v_4(264u);
-  p[1].m[0] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
+  p[int(1)] = v_18;
+  p[int(3)].m = v_4(264u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 7bbe371..5d21700 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -85,9 +85,9 @@
   S v_20[4] = v_12(0u);
   w = v_20;
   S v_21 = v_8(256u);
-  w[1] = v_21;
-  w[3].m = v_4(264u);
-  w[1].m[0] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
+  w[int(1)] = v_21;
+  w[int(3)].m = v_4(264u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).xyz.zxy;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index d8dea52..ef41daf 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,9 @@
 cbuffer cbuffer_a : register(b0) {
   uint4 a[64];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index b6e91a3..f35409c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -65,9 +65,9 @@
   S v_17[4] = v_12(0u);
   p = v_17;
   S v_18 = v_8(256u);
-  p[1] = v_18;
-  p[3].m = v_4(264u);
-  p[1].m[0] = tint_bitcast_to_f16(u[1u]).ywxz;
+  p[int(1)] = v_18;
+  p[int(3)].m = v_4(264u);
+  p[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).ywxz;
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 191f6ce..3bab1ea 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -85,9 +85,9 @@
   S v_20[4] = v_12(0u);
   w = v_20;
   S v_21 = v_8(256u);
-  w[1] = v_21;
-  w[3].m = v_4(264u);
-  w[1].m[0] = tint_bitcast_to_f16(u[1u]).ywxz;
+  w[int(1)] = v_21;
+  w[int(3)].m = v_4(264u);
+  w[int(1)].m[int(0)] = tint_bitcast_to_f16(u[1u]).ywxz;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index b33d0a6..2e1c570 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 6bcc935..9c3acfd 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
index b8a753a..a828b4d 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -23,9 +23,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_2(0u);
-  p[1] = tint_bitcast_to_f16(u[0u].x);
-  p[1] = tint_bitcast_to_f16(u[0u].x).yx;
-  p[0][1] = float16_t(f16tof32(u[0u].y));
+  p[int(1)] = tint_bitcast_to_f16(u[0u].x);
+  p[int(1)] = tint_bitcast_to_f16(u[0u].x).yx;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].y));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 65e6991..c2e0ef2 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -30,9 +30,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_2(0u);
-  w[1] = tint_bitcast_to_f16(u[0u].x);
-  w[1] = tint_bitcast_to_f16(u[0u].x).yx;
-  w[0][1] = float16_t(f16tof32(u[0u].y));
+  w[int(1)] = tint_bitcast_to_f16(u[0u].x);
+  w[int(1)] = tint_bitcast_to_f16(u[0u].x).yx;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].y));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 147c142..35bc762 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index f71d412..b1f8801 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 29fc2a2..82d354b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -25,9 +25,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_4(0u);
-  p[1] = tint_bitcast_to_f16(u[0u]).xyz;
-  p[1] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  p[0][1] = float16_t(f16tof32(u[0u].z));
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).xyz;
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 5d59112..f1e3db84 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -32,9 +32,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_4(0u);
-  w[1] = tint_bitcast_to_f16(u[0u]).xyz;
-  w[1] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  w[0][1] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).xyz;
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 70553da..2546eea 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index e95e907..8ec7828 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 4756638..410a9b7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -25,9 +25,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_4(0u);
-  p[1] = tint_bitcast_to_f16(u[0u]);
-  p[1] = tint_bitcast_to_f16(u[0u]).ywxz;
-  p[0][1] = float16_t(f16tof32(u[0u].z));
+  p[int(1)] = tint_bitcast_to_f16(u[0u]);
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index d2cc91d..6798c45 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -32,9 +32,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_4(0u);
-  w[1] = tint_bitcast_to_f16(u[0u]);
-  w[1] = tint_bitcast_to_f16(u[0u]).ywxz;
-  w[0][1] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = tint_bitcast_to_f16(u[0u]);
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 2ac6ce7..7b5ed93 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 82e247a..3927ea1 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 073274f..cab75b7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -25,9 +25,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_2(0u);
-  p[1] = tint_bitcast_to_f16(u[0u].x);
-  p[1] = tint_bitcast_to_f16(u[0u].x).yx;
-  p[0][1] = float16_t(f16tof32(u[0u].y));
+  p[int(1)] = tint_bitcast_to_f16(u[0u].x);
+  p[int(1)] = tint_bitcast_to_f16(u[0u].x).yx;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].y));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index e08e1dd..cf813a1 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -32,9 +32,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_2(0u);
-  w[1] = tint_bitcast_to_f16(u[0u].x);
-  w[1] = tint_bitcast_to_f16(u[0u].x).yx;
-  w[0][1] = float16_t(f16tof32(u[0u].y));
+  w[int(1)] = tint_bitcast_to_f16(u[0u].x);
+  w[int(1)] = tint_bitcast_to_f16(u[0u].x).yx;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].y));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index f76534e..e8c316a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 2883c3c..7666c17 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index a1836b9..ea74c3d 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -26,9 +26,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_4(0u);
-  p[1] = tint_bitcast_to_f16(u[0u]).xyz;
-  p[1] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  p[0][1] = float16_t(f16tof32(u[0u].z));
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).xyz;
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index b330e24..dd3150b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -33,9 +33,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_4(0u);
-  w[1] = tint_bitcast_to_f16(u[0u]).xyz;
-  w[1] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  w[0][1] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).xyz;
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index ffdb32e..ed7d3a4 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 5f7df9d..7370403 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index a6aea06..40dfcb8 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -26,9 +26,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_4(0u);
-  p[1] = tint_bitcast_to_f16(u[0u]);
-  p[1] = tint_bitcast_to_f16(u[0u]).ywxz;
-  p[0][1] = float16_t(f16tof32(u[0u].z));
+  p[int(1)] = tint_bitcast_to_f16(u[0u]);
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 8d3bc3e..39fd8cb 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -33,9 +33,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_4(0u);
-  w[1] = tint_bitcast_to_f16(u[0u]);
-  w[1] = tint_bitcast_to_f16(u[0u]).ywxz;
-  w[0][1] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = tint_bitcast_to_f16(u[0u]);
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 9fc2609..686af47 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 1104791..2218118 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[1];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 4001d3b..934c7aa 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -27,9 +27,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_2(0u);
-  p[1] = tint_bitcast_to_f16(u[0u].x);
-  p[1] = tint_bitcast_to_f16(u[0u].x).yx;
-  p[0][1] = float16_t(f16tof32(u[0u].y));
+  p[int(1)] = tint_bitcast_to_f16(u[0u].x);
+  p[int(1)] = tint_bitcast_to_f16(u[0u].x).yx;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].y));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 969024c..7858ec7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_2(0u);
-  w[1] = tint_bitcast_to_f16(u[0u].x);
-  w[1] = tint_bitcast_to_f16(u[0u].x).yx;
-  w[0][1] = float16_t(f16tof32(u[0u].y));
+  w[int(1)] = tint_bitcast_to_f16(u[0u].x);
+  w[int(1)] = tint_bitcast_to_f16(u[0u].x).yx;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].y));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 1b34513..d66a0e3 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index f475492..b68cc8e 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 2067911..a286eda 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -27,9 +27,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_4(0u);
-  p[1] = tint_bitcast_to_f16(u[0u]).xyz;
-  p[1] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  p[0][1] = float16_t(f16tof32(u[0u].z));
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).xyz;
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index aefd379..031e01c 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_4(0u);
-  w[1] = tint_bitcast_to_f16(u[0u]).xyz;
-  w[1] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
-  w[0][1] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).xyz;
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).xyz.zxy;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index d209294..f61cb2a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 050611b..16872ac 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,9 @@
 cbuffer cbuffer_m : register(b0) {
   uint4 m[2];
 };
-static int counter = 0;
+static int counter = int(0);
 int i() {
-  counter = (counter + 1);
+  counter = (counter + int(1));
   return counter;
 }
 
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
index 089e1d2..e17ef68 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.fxc.hlsl
@@ -27,9 +27,9 @@
 [numthreads(1, 1, 1)]
 void f() {
   p = v_4(0u);
-  p[1] = tint_bitcast_to_f16(u[0u]);
-  p[1] = tint_bitcast_to_f16(u[0u]).ywxz;
-  p[0][1] = float16_t(f16tof32(u[0u].z));
+  p[int(1)] = tint_bitcast_to_f16(u[0u]);
+  p[int(1)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  p[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 FXC validation failure:
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
index 2d1c948..c978794 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   w = v_4(0u);
-  w[1] = tint_bitcast_to_f16(u[0u]);
-  w[1] = tint_bitcast_to_f16(u[0u]).ywxz;
-  w[0][1] = float16_t(f16tof32(u[0u].z));
+  w[int(1)] = tint_bitcast_to_f16(u[0u]);
+  w[int(1)] = tint_bitcast_to_f16(u[0u]).ywxz;
+  w[int(0)][int(1)] = float16_t(f16tof32(u[0u].z));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/bug/chromium/1434271.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/chromium/1434271.wgsl.expected.ir.fxc.hlsl
index 501f031..cb15de2 100644
--- a/test/tint/bug/chromium/1434271.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/chromium/1434271.wgsl.expected.ir.fxc.hlsl
@@ -129,7 +129,7 @@
 void export_level_inner(uint3 coord) {
   uint2 v_18 = (0u).xx;
   tex_out.GetDimensions(v_18[0u], v_18[1u]);
-  if (all((coord.xy < uint2((v_18).xx)))) {
+  if (all((coord.xy < uint2(v_18)))) {
     uint dst_offset = (coord[0u] << ((coord[1u] * ubo[0u].x) & 31u));
     uint src_offset = ((coord[0u] - 2u) + ((coord[1u] >> (2u & 31u)) * ubo[0u].x));
     float a = asfloat(buf_in.Load((0u + (uint((src_offset << (0u & 31u))) * 4u))));
@@ -143,24 +143,23 @@
     buf_out.Store((0u + v_19), asuint(((sum - (((v_20 < 0.0f)) ? (ceil(v_20)) : (v_21))) * 4.0f)));
     float4 v_22 = float4(a, (a * b), ((a / b) + c), sum);
     float4 probabilities = (v_22 + max(sum, 0.0f));
-    RWTexture2D<float4> v_23 = tex_out;
-    v_23[int2(coord.xy)] = probabilities;
+    tex_out[int2(coord.xy)] = probabilities;
   }
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_outputs v_24 = {vertex_main_inner()};
-  return v_24;
+  vertex_main_outputs v_23 = {vertex_main_inner()};
+  return v_23;
 }
 
 vs_main_outputs vs_main(vs_main_inputs inputs) {
-  VertexInput v_25 = {inputs.VertexInput_position, inputs.VertexInput_color, inputs.VertexInput_quad_pos};
-  VertexOutput v_26 = vs_main_inner(v_25);
-  VertexOutput v_27 = v_26;
-  VertexOutput v_28 = v_26;
-  VertexOutput v_29 = v_26;
-  vs_main_outputs v_30 = {v_28.color, v_29.quad_pos, v_27.position};
-  return v_30;
+  VertexInput v_24 = {inputs.VertexInput_position, inputs.VertexInput_color, inputs.VertexInput_quad_pos};
+  VertexOutput v_25 = vs_main_inner(v_24);
+  VertexOutput v_26 = v_25;
+  VertexOutput v_27 = v_25;
+  VertexOutput v_28 = v_25;
+  vs_main_outputs v_29 = {v_27.color, v_28.quad_pos, v_26.position};
+  return v_29;
 }
 
 [numthreads(64, 1, 1)]
diff --git a/test/tint/bug/tint/1557.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/1557.wgsl.expected.ir.fxc.hlsl
index 9615d0d..18b64f7 100644
--- a/test/tint/bug/tint/1557.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1557.wgsl.expected.ir.fxc.hlsl
@@ -5,17 +5,17 @@
   uint4 u[1];
 };
 int f() {
-  return 0;
+  return int(0);
 }
 
 void g() {
-  int j = 0;
+  int j = int(0);
   {
     while(true) {
-      if ((j >= 1)) {
+      if ((j >= int(1))) {
         break;
       }
-      j = (j + 1);
+      j = (j + int(1));
       int k = f();
       {
       }
@@ -27,10 +27,10 @@
 [numthreads(1, 1, 1)]
 void main() {
   switch(asint(u[0u].x)) {
-    case 0:
+    case int(0):
     {
       switch(asint(u[0u].x)) {
-        case 0:
+        case int(0):
         {
           break;
         }
diff --git a/test/tint/bug/tint/1666.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/1666.wgsl.expected.ir.fxc.hlsl
index 78e3f87..017c700 100644
--- a/test/tint/bug/tint/1666.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1666.wgsl.expected.ir.fxc.hlsl
@@ -3,24 +3,24 @@
 
 ByteAddressBuffer rarr : register(t0);
 void tint_symbol() {
-  int idx = 3;
-  int x = int2(1, 2)[idx];
+  int idx = int(3);
+  int x = int2(int(1), int(2))[idx];
 }
 
 void tint_symbol_1() {
-  int idx = 4;
+  int idx = int(4);
   float2 x = float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f))[idx];
 }
 
 void fixed_size_array() {
-  int v[2] = {1, 2};
-  int idx = 3;
+  int v[2] = {int(1), int(2)};
+  int idx = int(3);
   int arr[2] = v;
   int x = arr[idx];
 }
 
 void runtime_size_array() {
-  int idx = -1;
+  int idx = int(-1);
   float x = asfloat(rarr.Load((0u + (uint(idx) * 4u))));
 }
 
@@ -33,7 +33,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,11-25): error X3504: array index out of bounds
+<scrubbed_path>(5,11-35): error X3504: array index out of bounds
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/2010.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/2010.spvasm.expected.ir.dxc.hlsl
index 8764781..eeeaa68 100644
--- a/test/tint/bug/tint/2010.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/2010.spvasm.expected.ir.dxc.hlsl
@@ -52,7 +52,7 @@
   }
   GroupMemoryBarrierWithGroupSync();
   int x_74 = asint(x_58);
-  float2 x_76 = x_28[0].field0;
+  float2 x_76 = x_28[int(0)].field0;
   if ((x_52 == 0u)) {
     uint2 x_80 = asuint(x_76);
     uint x_81 = x_80[0u];
diff --git a/test/tint/bug/tint/2010.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/2010.spvasm.expected.ir.fxc.hlsl
index 3d46d2e..a3c1009 100644
--- a/test/tint/bug/tint/2010.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/2010.spvasm.expected.ir.fxc.hlsl
@@ -52,7 +52,7 @@
   }
   GroupMemoryBarrierWithGroupSync();
   int x_74 = asint(x_58);
-  float2 x_76 = x_28[0].field0;
+  float2 x_76 = x_28[int(0)].field0;
   if ((x_52 == 0u)) {
     uint2 x_80 = asuint(x_76);
     uint x_81 = x_80[0u];
diff --git a/test/tint/bug/tint/2146.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/2146.wgsl.expected.ir.fxc.hlsl
index 00d1f07..26894cb 100644
--- a/test/tint/bug/tint/2146.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/2146.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 void main() {
   vector<float16_t, 4> a = (float16_t(0.0h)).xxxx;
   float16_t b = float16_t(1.0h);
-  a[0] = (a.x + b);
+  a[int(0)] = (a.x + b);
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/compute_subgroup_inclusive.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/compute_subgroup_inclusive.wgsl.expected.ir.fxc.hlsl
index d3c54a1..1ca81e2 100644
--- a/test/tint/builtins/compute_subgroup_inclusive.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/compute_subgroup_inclusive.wgsl.expected.ir.fxc.hlsl
@@ -8,3 +8,8 @@
   float submul = (WavePrefixProduct(val) * val);
 }
 
+FXC validation failure:
+<scrubbed_path>(5,19-36): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl
index ae5d767..2bdaa8a 100644
--- a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 
 
 void frexp_3dd21e() {
-  frexp_result_vec4_f16 res = {(float16_t(0.5h)).xxxx, (1).xxxx};
+  frexp_result_vec4_f16 res = {(float16_t(0.5h)).xxxx, (int(1)).xxxx};
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.ir.fxc.hlsl
index cdfac10..e8c66f6 100644
--- a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 
 
 void frexp_5257dd() {
-  frexp_result_f16 res = {float16_t(0.5h), 1};
+  frexp_result_f16 res = {float16_t(0.5h), int(1)};
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl
index 36b513b..60ff265 100644
--- a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 
 
 void frexp_5f47bf() {
-  frexp_result_vec2_f16 res = {(float16_t(0.5h)).xx, (1).xx};
+  frexp_result_vec2_f16 res = {(float16_t(0.5h)).xx, (int(1)).xx};
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl
index 91987e2..82b9420 100644
--- a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 
 
 void frexp_ae4a66() {
-  frexp_result_vec3_f16 res = {(float16_t(0.5h)).xxx, (1).xxx};
+  frexp_result_vec3_f16 res = {(float16_t(0.5h)).xxx, (int(1)).xxx};
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl
index 93d2b73..0a2b353 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> quadBroadcast_0464d1() {
-  vector<float16_t, 2> res = QuadReadLaneAt((float16_t(1.0h)).xx, 1);
+  vector<float16_t, 2> res = QuadReadLaneAt((float16_t(1.0h)).xx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl
index 099147d..563100c 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadBroadcast_0639ea() {
-  int res = QuadReadLaneAt(1, 1u);
+  int res = QuadReadLaneAt(int(1), 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-33): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,13-38): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl
index 68492b5..f691ada 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadBroadcast_0e0e6e() {
-  int3 res = QuadReadLaneAt((1).xxx, 1u);
+  int3 res = QuadReadLaneAt((int(1)).xxx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,14-45): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl
index 2369af2..0067283 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float3 quadBroadcast_355db5() {
-  float3 res = QuadReadLaneAt((1.0f).xxx, 1);
+  float3 res = QuadReadLaneAt((1.0f).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-44): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,16-49): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl
index cf87118..dd5dfa5 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> quadBroadcast_4d9898() {
-  vector<float16_t, 4> res = QuadReadLaneAt((float16_t(1.0h)).xxxx, 1);
+  vector<float16_t, 4> res = QuadReadLaneAt((float16_t(1.0h)).xxxx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl
index 7aa2f28..cc731ac 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint2 quadBroadcast_641316() {
-  uint2 res = QuadReadLaneAt((1u).xx, 1);
+  uint2 res = QuadReadLaneAt((1u).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-40): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,15-45): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl
index 83b0a5d..b3c7499 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadBroadcast_704803() {
-  int3 res = QuadReadLaneAt((1).xxx, 1);
+  int3 res = QuadReadLaneAt((int(1)).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,14-49): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl
index 16b300f..75b4220 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadBroadcast_76f499() {
-  int4 res = QuadReadLaneAt((1).xxxx, 1);
+  int4 res = QuadReadLaneAt((int(1)).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,14-50): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl
index 7e26258..66707e1 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t quadBroadcast_78129b() {
-  float16_t res = QuadReadLaneAt(float16_t(1.0h), 1);
+  float16_t res = QuadReadLaneAt(float16_t(1.0h), int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl
index d720923..681178b 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> quadBroadcast_796753() {
-  vector<float16_t, 3> res = QuadReadLaneAt((float16_t(1.0h)).xxx, 1);
+  vector<float16_t, 3> res = QuadReadLaneAt((float16_t(1.0h)).xxx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl
index 4b735dd..7b5ce61 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float4 quadBroadcast_9d802c() {
-  float4 res = QuadReadLaneAt((1.0f).xxxx, 1);
+  float4 res = QuadReadLaneAt((1.0f).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-45): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,16-50): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl
index fdee72e..7761f7b 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint quadBroadcast_a2d2b4() {
-  uint res = QuadReadLaneAt(1u, 1);
+  uint res = QuadReadLaneAt(1u, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl
index c3d9d16..b3f21fd 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint4 quadBroadcast_b68331() {
-  uint4 res = QuadReadLaneAt((1u).xxxx, 1);
+  uint4 res = QuadReadLaneAt((1u).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-42): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,15-47): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl
index c1f2f18..e514af8 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadBroadcast_bed00b() {
-  int4 res = QuadReadLaneAt((1).xxxx, 1u);
+  int4 res = QuadReadLaneAt((int(1)).xxxx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,14-46): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl
index ffc1d3c..6bd52a7 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadBroadcast_c0e704() {
-  int2 res = QuadReadLaneAt((1).xx, 1);
+  int2 res = QuadReadLaneAt((int(1)).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,14-48): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl
index 701ede3..0dcce01 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float2 quadBroadcast_cfbf48() {
-  float2 res = QuadReadLaneAt((1.0f).xx, 1);
+  float2 res = QuadReadLaneAt((1.0f).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-43): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,16-48): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl
index fa70e20..7ef066f 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float quadBroadcast_e6d39d() {
-  float res = QuadReadLaneAt(1.0f, 1);
+  float res = QuadReadLaneAt(1.0f, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-37): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,15-42): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl
index f61e46e..b4c0832 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint3 quadBroadcast_f1e8ec() {
-  uint3 res = QuadReadLaneAt((1u).xxx, 1);
+  uint3 res = QuadReadLaneAt((1u).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-41): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,15-46): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl
index 5997e43..ad7f197 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadBroadcast_f5f923() {
-  int2 res = QuadReadLaneAt((1).xx, 1u);
+  int2 res = QuadReadLaneAt((int(1)).xx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,14-44): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl
index 9344bfa..7a8ab2d 100644
--- a/test/tint/builtins/gen/literal/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadBroadcast_f9d579() {
-  int res = QuadReadLaneAt(1, 1);
+  int res = QuadReadLaneAt(int(1), int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-32): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(4,13-42): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl
index c95e2ae..eced1fe 100644
--- a/test/tint/builtins/gen/literal/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadSwapDiagonal_9ccb38() {
-  int res = QuadReadAcrossDiagonal(1);
+  int res = QuadReadAcrossDiagonal(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-37): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
+<scrubbed_path>(4,13-42): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl
index 387302f..f2041b7 100644
--- a/test/tint/builtins/gen/literal/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadSwapDiagonal_a090b0() {
-  int2 res = QuadReadAcrossDiagonal((1).xx);
+  int2 res = QuadReadAcrossDiagonal((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-43): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
+<scrubbed_path>(4,14-48): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl
index 5d9f8e3..fb829dc 100644
--- a/test/tint/builtins/gen/literal/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadSwapDiagonal_a665b1() {
-  int4 res = QuadReadAcrossDiagonal((1).xxxx);
+  int4 res = QuadReadAcrossDiagonal((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-45): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
+<scrubbed_path>(4,14-50): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl
index 427a8e8..912d510 100644
--- a/test/tint/builtins/gen/literal/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadSwapDiagonal_a82e1d() {
-  int3 res = QuadReadAcrossDiagonal((1).xxx);
+  int3 res = QuadReadAcrossDiagonal((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-44): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
+<scrubbed_path>(4,14-49): error X3004: undeclared identifier 'QuadReadAcrossDiagonal'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl
index dd7f25d..48a0e15 100644
--- a/test/tint/builtins/gen/literal/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadSwapX_053f3b() {
-  int3 res = QuadReadAcrossX((1).xxx);
+  int3 res = QuadReadAcrossX((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-37): error X3004: undeclared identifier 'QuadReadAcrossX'
+<scrubbed_path>(4,14-42): error X3004: undeclared identifier 'QuadReadAcrossX'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl
index 91b5e5b..2e0a602 100644
--- a/test/tint/builtins/gen/literal/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadSwapX_1e1086() {
-  int res = QuadReadAcrossX(1);
+  int res = QuadReadAcrossX(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-30): error X3004: undeclared identifier 'QuadReadAcrossX'
+<scrubbed_path>(4,13-35): error X3004: undeclared identifier 'QuadReadAcrossX'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl
index f61d724..d55e2fa 100644
--- a/test/tint/builtins/gen/literal/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadSwapX_b1a5fe() {
-  int2 res = QuadReadAcrossX((1).xx);
+  int2 res = QuadReadAcrossX((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-36): error X3004: undeclared identifier 'QuadReadAcrossX'
+<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'QuadReadAcrossX'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl
index 967b234..1e68c35 100644
--- a/test/tint/builtins/gen/literal/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadSwapX_edfa1f() {
-  int4 res = QuadReadAcrossX((1).xxxx);
+  int4 res = QuadReadAcrossX((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'QuadReadAcrossX'
+<scrubbed_path>(4,14-43): error X3004: undeclared identifier 'QuadReadAcrossX'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl
index 6704020..71aa6bd 100644
--- a/test/tint/builtins/gen/literal/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadSwapY_0d05a8() {
-  int2 res = QuadReadAcrossY((1).xx);
+  int2 res = QuadReadAcrossY((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-36): error X3004: undeclared identifier 'QuadReadAcrossY'
+<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'QuadReadAcrossY'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl
index 38ed652..5fcee55 100644
--- a/test/tint/builtins/gen/literal/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadSwapY_14bb9a() {
-  int4 res = QuadReadAcrossY((1).xxxx);
+  int4 res = QuadReadAcrossY((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'QuadReadAcrossY'
+<scrubbed_path>(4,14-43): error X3004: undeclared identifier 'QuadReadAcrossY'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl
index 63eef40..da404fa 100644
--- a/test/tint/builtins/gen/literal/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadSwapY_94ab6d() {
-  int res = QuadReadAcrossY(1);
+  int res = QuadReadAcrossY(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-30): error X3004: undeclared identifier 'QuadReadAcrossY'
+<scrubbed_path>(4,13-35): error X3004: undeclared identifier 'QuadReadAcrossY'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl
index 45f9899..af14228 100644
--- a/test/tint/builtins/gen/literal/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadSwapY_be4e72() {
-  int3 res = QuadReadAcrossY((1).xxx);
+  int3 res = QuadReadAcrossY((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-37): error X3004: undeclared identifier 'QuadReadAcrossY'
+<scrubbed_path>(4,14-42): error X3004: undeclared identifier 'QuadReadAcrossY'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl
index f00197b..99a3c4f 100644
--- a/test/tint/builtins/gen/literal/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupAdd_1eb429() {
-  int2 res = WaveActiveSum((1).xx);
+  int2 res = WaveActiveSum((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'WaveActiveSum'
+<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveActiveSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl
index 4be11e1..9c819ae 100644
--- a/test/tint/builtins/gen/literal/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupAdd_22d041() {
-  int3 res = WaveActiveSum((1).xxx);
+  int3 res = WaveActiveSum((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-35): error X3004: undeclared identifier 'WaveActiveSum'
+<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveActiveSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl
index f51a8a7..b48f603 100644
--- a/test/tint/builtins/gen/literal/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupAdd_28db2c() {
-  int4 res = WaveActiveSum((1).xxxx);
+  int4 res = WaveActiveSum((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-36): error X3004: undeclared identifier 'WaveActiveSum'
+<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'WaveActiveSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl
index 331fec7..7ed6cbe 100644
--- a/test/tint/builtins/gen/literal/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupAdd_ba53f9() {
-  int res = WaveActiveSum(1);
+  int res = WaveActiveSum(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-28): error X3004: undeclared identifier 'WaveActiveSum'
+<scrubbed_path>(4,13-33): error X3004: undeclared identifier 'WaveActiveSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl
index 13d227d..b5245bf 100644
--- a/test/tint/builtins/gen/literal/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupAll_c962bd() {
   bool res = WaveActiveAllTrue(true);
-  return ((all((res == false))) ? (1) : (0));
+  return ((all((res == false))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl
index 1e234e4..ada94d3 100644
--- a/test/tint/builtins/gen/literal/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupAnd_1877b3() {
-  int3 arg = (1).xxx;
+  int3 arg = (int(1)).xxx;
   int3 res = asint(WaveActiveBitAnd(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl
index 0852b59..76c2092 100644
--- a/test/tint/builtins/gen/literal/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupAnd_4adc72() {
-  int2 arg = (1).xx;
+  int2 arg = (int(1)).xx;
   int2 res = asint(WaveActiveBitAnd(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl
index b5f40c1..8267456 100644
--- a/test/tint/builtins/gen/literal/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupAnd_97655b() {
-  int4 arg = (1).xxxx;
+  int4 arg = (int(1)).xxxx;
   int4 res = asint(WaveActiveBitAnd(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl
index 1c55222..9d266f4 100644
--- a/test/tint/builtins/gen/literal/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupAnd_c6fc92() {
-  int res = asint(WaveActiveBitAnd(asuint(1)));
+  int res = asint(WaveActiveBitAnd(asuint(int(1))));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,19-45): error X3004: undeclared identifier 'WaveActiveBitAnd'
+<scrubbed_path>(4,19-50): error X3004: undeclared identifier 'WaveActiveBitAnd'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl
index 0cacb18..86816c7 100644
--- a/test/tint/builtins/gen/literal/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupAny_cddda0() {
   bool res = WaveActiveAnyTrue(true);
-  return ((all((res == false))) ? (1) : (0));
+  return ((all((res == false))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl
index 7f7b64f..000dd1e 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> subgroupBroadcast_02f329() {
-  vector<float16_t, 4> res = WaveReadLaneAt((float16_t(1.0h)).xxxx, 1);
+  vector<float16_t, 4> res = WaveReadLaneAt((float16_t(1.0h)).xxxx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl
index e1ee112..6435ed0 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupBroadcast_1d79c7() {
-  int res = WaveReadLaneAt(1, 1u);
+  int res = WaveReadLaneAt(int(1), 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-33): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,13-38): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl
index ac038ab..748a8c4 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupBroadcast_2b59c9() {
-  int3 res = WaveReadLaneAt((1).xxx, 1);
+  int3 res = WaveReadLaneAt((int(1)).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-49): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl
index 2eed462..c973db6 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint3 subgroupBroadcast_34ae44() {
-  uint3 res = WaveReadLaneAt((1u).xxx, 1);
+  uint3 res = WaveReadLaneAt((1u).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-41): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-46): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl
index 405bf63..718a89d 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupBroadcast_3e6879() {
-  int2 res = WaveReadLaneAt((1).xx, 1u);
+  int2 res = WaveReadLaneAt((int(1)).xx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-44): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl
index 1cca73e..aa2297a 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint subgroupBroadcast_49de94() {
-  uint res = WaveReadLaneAt(1u, 1);
+  uint res = WaveReadLaneAt(1u, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl
index 1049446..e0042e6 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupBroadcast_6290a2() {
-  int4 res = WaveReadLaneAt((1).xxxx, 1);
+  int4 res = WaveReadLaneAt((int(1)).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-50): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl
index 8cfa90c..cecc660 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t subgroupBroadcast_719ad6() {
-  float16_t res = WaveReadLaneAt(float16_t(1.0h), 1);
+  float16_t res = WaveReadLaneAt(float16_t(1.0h), int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl
index d95d989..4eccb71 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint4 subgroupBroadcast_727609() {
-  uint4 res = WaveReadLaneAt((1u).xxxx, 1);
+  uint4 res = WaveReadLaneAt((1u).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-42): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-47): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl
index b9a3aee..f026c91 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float4 subgroupBroadcast_838c78() {
-  float4 res = WaveReadLaneAt((1.0f).xxxx, 1);
+  float4 res = WaveReadLaneAt((1.0f).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-45): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,16-50): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl
index 18e9778..8e61448 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float subgroupBroadcast_867093() {
-  float res = WaveReadLaneAt(1.0f, 1);
+  float res = WaveReadLaneAt(1.0f, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-37): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl
index 609072b..89be649 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float3 subgroupBroadcast_8855b2() {
-  float3 res = WaveReadLaneAt((1.0f).xxx, 1);
+  float3 res = WaveReadLaneAt((1.0f).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-44): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,16-49): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl
index 590fe94..735308b 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupBroadcast_9ccdca() {
-  int res = WaveReadLaneAt(1, 1);
+  int res = WaveReadLaneAt(int(1), int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-32): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,13-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl
index 0911d35..5f31622 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint2 subgroupBroadcast_a279d7() {
-  uint2 res = WaveReadLaneAt((1u).xx, 1);
+  uint2 res = WaveReadLaneAt((1u).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-40): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-45): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl
index a350445..cb731a1 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> subgroupBroadcast_a3b3e5() {
-  vector<float16_t, 3> res = WaveReadLaneAt((float16_t(1.0h)).xxx, 1);
+  vector<float16_t, 3> res = WaveReadLaneAt((float16_t(1.0h)).xxx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl
index 95038cd..51b8bda 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float2 subgroupBroadcast_cd7aa1() {
-  float2 res = WaveReadLaneAt((1.0f).xx, 1);
+  float2 res = WaveReadLaneAt((1.0f).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-43): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,16-48): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl
index cb3f398..54120e1 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupBroadcast_e275c8() {
-  int3 res = WaveReadLaneAt((1).xxx, 1u);
+  int3 res = WaveReadLaneAt((int(1)).xxx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-45): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl
index d32b979..7b826bb 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> subgroupBroadcast_e4dd1a() {
-  vector<float16_t, 2> res = WaveReadLaneAt((float16_t(1.0h)).xx, 1);
+  vector<float16_t, 2> res = WaveReadLaneAt((float16_t(1.0h)).xx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl
index 906dd68..80ffb0f 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupBroadcast_f637f9() {
-  int4 res = WaveReadLaneAt((1).xxxx, 1u);
+  int4 res = WaveReadLaneAt((int(1)).xxxx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-46): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl
index b390d3b..195051f 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupBroadcast_fa6810() {
-  int2 res = WaveReadLaneAt((1).xx, 1);
+  int2 res = WaveReadLaneAt((int(1)).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-48): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl
index aab8eb1..046c342 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupBroadcastFirst_85b351() {
-  int2 res = WaveReadLaneFirst((1).xx);
+  int2 res = WaveReadLaneFirst((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'WaveReadLaneFirst'
+<scrubbed_path>(4,14-43): error X3004: undeclared identifier 'WaveReadLaneFirst'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl
index 55255fe..547e001 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupBroadcastFirst_9a1bdc() {
-  int res = WaveReadLaneFirst(1);
+  int res = WaveReadLaneFirst(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-32): error X3004: undeclared identifier 'WaveReadLaneFirst'
+<scrubbed_path>(4,13-37): error X3004: undeclared identifier 'WaveReadLaneFirst'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl
index 817830d..f07d859 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupBroadcastFirst_9dccee() {
-  int4 res = WaveReadLaneFirst((1).xxxx);
+  int4 res = WaveReadLaneFirst((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveReadLaneFirst'
+<scrubbed_path>(4,14-45): error X3004: undeclared identifier 'WaveReadLaneFirst'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl
index 175618f..ada96aa 100644
--- a/test/tint/builtins/gen/literal/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupBroadcastFirst_e820d4() {
-  int3 res = WaveReadLaneFirst((1).xxx);
+  int3 res = WaveReadLaneFirst((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveReadLaneFirst'
+<scrubbed_path>(4,14-44): error X3004: undeclared identifier 'WaveReadLaneFirst'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl
index cbf94dd..74e268c 100644
--- a/test/tint/builtins/gen/literal/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupElect_3943d6() {
   bool res = WaveIsFirstLane();
-  return ((all((res == false))) ? (1) : (0));
+  return ((all((res == false))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl
index 3ca4a55..c628bc5 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupExclusiveAdd_406ab4() {
-  int4 res = WavePrefixSum((1).xxxx);
+  int4 res = WavePrefixSum((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-36): error X3004: undeclared identifier 'WavePrefixSum'
+<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'WavePrefixSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl
index 60cf223..41dff2c 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupExclusiveAdd_b0c261() {
-  int res = WavePrefixSum(1);
+  int res = WavePrefixSum(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-28): error X3004: undeclared identifier 'WavePrefixSum'
+<scrubbed_path>(4,13-33): error X3004: undeclared identifier 'WavePrefixSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl
index ae7c2ba..d4607f0 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupExclusiveAdd_c08160() {
-  int3 res = WavePrefixSum((1).xxx);
+  int3 res = WavePrefixSum((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-35): error X3004: undeclared identifier 'WavePrefixSum'
+<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WavePrefixSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl
index 4ea0476..e24e58a 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupExclusiveAdd_f0f712() {
-  int2 res = WavePrefixSum((1).xx);
+  int2 res = WavePrefixSum((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'WavePrefixSum'
+<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WavePrefixSum'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl
index e43c256..0586746 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupExclusiveMul_019660() {
-  int4 res = WavePrefixProduct((1).xxxx);
+  int4 res = WavePrefixProduct((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WavePrefixProduct'
+<scrubbed_path>(4,14-45): error X3004: undeclared identifier 'WavePrefixProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl
index ef32366..51e955f 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupExclusiveMul_4525a3() {
-  int2 res = WavePrefixProduct((1).xx);
+  int2 res = WavePrefixProduct((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'WavePrefixProduct'
+<scrubbed_path>(4,14-43): error X3004: undeclared identifier 'WavePrefixProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl
index 8bab785..1b6a4bd 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupExclusiveMul_87f23e() {
-  int3 res = WavePrefixProduct((1).xxx);
+  int3 res = WavePrefixProduct((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WavePrefixProduct'
+<scrubbed_path>(4,14-44): error X3004: undeclared identifier 'WavePrefixProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl
index cdce9fc..84bb068 100644
--- a/test/tint/builtins/gen/literal/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupExclusiveMul_a23002() {
-  int res = WavePrefixProduct(1);
+  int res = WavePrefixProduct(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-32): error X3004: undeclared identifier 'WavePrefixProduct'
+<scrubbed_path>(4,13-37): error X3004: undeclared identifier 'WavePrefixProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl
index 1714460..92d2ca0 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupInclusiveAdd_1b7680() {
-  int res = (WavePrefixSum(1) + 1);
+  int res = (WavePrefixSum(int(1)) + int(1));
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveAdd_1b7680()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl
index e9730d6..8bd3a21 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveAdd_367caa()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,17-42): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl
index 6385aad..8bd262a 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<vector<float16_t, 4> >(0u, subgroupInclusiveAdd_58ea3d());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl
index 5aa63b7..6bb785b 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store(0u, subgroupInclusiveAdd_7ed675());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-31): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl
index b457c3e..55d5cbc 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<vector<float16_t, 3> >(0u, subgroupInclusiveAdd_7f2040());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl
index 4e79dcc..1af2e70 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store4(0u, subgroupInclusiveAdd_8bbe75());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-39): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl
index 0e293dc..72b5d1d 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store2(0u, subgroupInclusiveAdd_9bbcb0());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-37): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl
index d9efd2e..bd90764 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<vector<float16_t, 2> >(0u, subgroupInclusiveAdd_a7c60f());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl
index 46fdbf9..996ca26 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveAdd_b787ce()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,17-41): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl
index 149d327..d8673cd 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupInclusiveAdd_c816b2() {
-  int3 res = (WavePrefixSum((1).xxx) + (1).xxx);
+  int3 res = (WavePrefixSum((int(1)).xxx) + (int(1)).xxx);
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveAdd_c816b2()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-41): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl
index 17adaa1..c94b138 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<float16_t>(0u, subgroupInclusiveAdd_dde86f());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,1-9): error X3000: unrecognized identifier 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl
index 5ee2a13..4c579b0 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveAdd_df692b()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-34): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl
index dd63437..1c977e4 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupInclusiveAdd_e18ebb() {
-  int4 res = (WavePrefixSum((1).xxxx) + (1).xxxx);
+  int4 res = (WavePrefixSum((int(1)).xxxx) + (int(1)).xxxx);
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveAdd_e18ebb()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-42): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl
index 07fa15f..5ba6b57 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store3(0u, subgroupInclusiveAdd_f43b30());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-38): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl
index 561af8f..ad519db 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveAdd_f8906d()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,17-40): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl
index 5e14d73..ce2d77f 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupInclusiveAdd_fabbde() {
-  int2 res = (WavePrefixSum((1).xx) + (1).xx);
+  int2 res = (WavePrefixSum((int(1)).xx) + (int(1)).xx);
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveAdd_fabbde()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-40): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl
index a4882be..0be29f2 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveMul_01dc9b()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,17-44): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl
index 08ece92..9506411 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<float16_t>(0u, subgroupInclusiveMul_10a1ef());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,1-9): error X3000: unrecognized identifier 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl
index d3319af..ef5fa08 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store4(0u, subgroupInclusiveMul_1cdf5c());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-43): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl
index e349a79..4c2ea88 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveMul_2a7ec7()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-38): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl
index 2e4aba2..bc8caec 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<vector<float16_t, 3> >(0u, subgroupInclusiveMul_2f8076());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl
index 1b3691f..d7d800f 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store3(0u, subgroupInclusiveMul_359176());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-42): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl
index 68b3bc6..950143ef 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<vector<float16_t, 4> >(0u, subgroupInclusiveMul_4430d5());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl
index 18bdaf5..a43d488 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupInclusiveMul_517979() {
-  int4 res = (WavePrefixProduct((1).xxxx) * (1).xxxx);
+  int4 res = (WavePrefixProduct((int(1)).xxxx) * (int(1)).xxxx);
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveMul_517979()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-46): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl
index a6a1a03..721fb07 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveMul_69326e()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,17-46): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl
index 5e221fe..288610f 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupInclusiveMul_769def() {
-  int3 res = (WavePrefixProduct((1).xxx) * (1).xxx);
+  int3 res = (WavePrefixProduct((int(1)).xxx) * (int(1)).xxx);
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveMul_769def()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-45): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl
index 1b3bb4c..f762591 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveMul_7978b8()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,17-45): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl
index da6c8eb..7daaf1b 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store(0u, subgroupInclusiveMul_89437b());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-35): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl
index 1a12d39..6a8b7ad 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupInclusiveMul_9a54ec() {
-  int res = (WavePrefixProduct(1) * 1);
+  int res = (WavePrefixProduct(int(1)) * int(1));
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveMul_9a54ec()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl
index 0b604f7..c95b57a 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store<vector<float16_t, 2> >(0u, subgroupInclusiveMul_ac5df5());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl
index 58584c4..a8a399c 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl
@@ -16,3 +16,8 @@
   prevent_dce.Store2(0u, subgroupInclusiveMul_dada1d());
 }
 
+FXC validation failure:
+<scrubbed_path>(4,16-41): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl
index 4f334d3..cfacec0 100644
--- a/test/tint/builtins/gen/literal/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupInclusiveMul_e713f5() {
-  int2 res = (WavePrefixProduct((1).xx) * (1).xx);
+  int2 res = (WavePrefixProduct((int(1)).xx) * (int(1)).xx);
   return res;
 }
 
@@ -16,3 +16,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveMul_e713f5()));
 }
 
+FXC validation failure:
+<scrubbed_path>(4,15-44): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl
index c1765c5..83ccc9c 100644
--- a/test/tint/builtins/gen/literal/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupMax_4ea90e() {
-  int3 res = WaveActiveMax((1).xxx);
+  int3 res = WaveActiveMax((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-35): error X3004: undeclared identifier 'WaveActiveMax'
+<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveActiveMax'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl
index 65fa5e7..89be8c9 100644
--- a/test/tint/builtins/gen/literal/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupMax_6c913e() {
-  int res = WaveActiveMax(1);
+  int res = WaveActiveMax(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-28): error X3004: undeclared identifier 'WaveActiveMax'
+<scrubbed_path>(4,13-33): error X3004: undeclared identifier 'WaveActiveMax'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl
index 0f58bd0..bd6bc28 100644
--- a/test/tint/builtins/gen/literal/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupMax_932164() {
-  int2 res = WaveActiveMax((1).xx);
+  int2 res = WaveActiveMax((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'WaveActiveMax'
+<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveActiveMax'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl
index fe90f69..49013bf 100644
--- a/test/tint/builtins/gen/literal/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupMax_a3d5f7() {
-  int4 res = WaveActiveMax((1).xxxx);
+  int4 res = WaveActiveMax((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-36): error X3004: undeclared identifier 'WaveActiveMax'
+<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'WaveActiveMax'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl
index cda2284..4d436e7 100644
--- a/test/tint/builtins/gen/literal/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupMin_030ad6() {
-  int3 res = WaveActiveMin((1).xxx);
+  int3 res = WaveActiveMin((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-35): error X3004: undeclared identifier 'WaveActiveMin'
+<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveActiveMin'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl
index 5378cf0..de8c3ef 100644
--- a/test/tint/builtins/gen/literal/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupMin_0bc13a() {
-  int2 res = WaveActiveMin((1).xx);
+  int2 res = WaveActiveMin((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'WaveActiveMin'
+<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveActiveMin'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl
index 9bf9ed6..68d62bf 100644
--- a/test/tint/builtins/gen/literal/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupMin_1de104() {
-  int4 res = WaveActiveMin((1).xxxx);
+  int4 res = WaveActiveMin((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-36): error X3004: undeclared identifier 'WaveActiveMin'
+<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'WaveActiveMin'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl
index 70d0560..59dcbec 100644
--- a/test/tint/builtins/gen/literal/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupMin_a96a2e() {
-  int res = WaveActiveMin(1);
+  int res = WaveActiveMin(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-28): error X3004: undeclared identifier 'WaveActiveMin'
+<scrubbed_path>(4,13-33): error X3004: undeclared identifier 'WaveActiveMin'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl
index 823db4c..b02c0d6 100644
--- a/test/tint/builtins/gen/literal/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupMul_3fe886() {
-  int res = WaveActiveProduct(1);
+  int res = WaveActiveProduct(int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-32): error X3004: undeclared identifier 'WaveActiveProduct'
+<scrubbed_path>(4,13-37): error X3004: undeclared identifier 'WaveActiveProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl
index fad1eb9..5a78da9 100644
--- a/test/tint/builtins/gen/literal/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupMul_5a8c86() {
-  int3 res = WaveActiveProduct((1).xxx);
+  int3 res = WaveActiveProduct((int(1)).xxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveActiveProduct'
+<scrubbed_path>(4,14-44): error X3004: undeclared identifier 'WaveActiveProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl
index 18bf7b2..7b0faf8 100644
--- a/test/tint/builtins/gen/literal/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupMul_d584a2() {
-  int2 res = WaveActiveProduct((1).xx);
+  int2 res = WaveActiveProduct((int(1)).xx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'WaveActiveProduct'
+<scrubbed_path>(4,14-43): error X3004: undeclared identifier 'WaveActiveProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl
index 72001a5..960a035 100644
--- a/test/tint/builtins/gen/literal/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupMul_fab258() {
-  int4 res = WaveActiveProduct((1).xxxx);
+  int4 res = WaveActiveProduct((int(1)).xxxx);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveActiveProduct'
+<scrubbed_path>(4,14-45): error X3004: undeclared identifier 'WaveActiveProduct'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl
index 638cb51..3bee3af 100644
--- a/test/tint/builtins/gen/literal/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupOr_03343f() {
-  int3 arg = (1).xxx;
+  int3 arg = (int(1)).xxx;
   int3 res = asint(WaveActiveBitOr(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl
index 8c26908..e552f31 100644
--- a/test/tint/builtins/gen/literal/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupOr_3f60e0() {
-  int2 arg = (1).xx;
+  int2 arg = (int(1)).xx;
   int2 res = asint(WaveActiveBitOr(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl
index cfbbd92..92a6276 100644
--- a/test/tint/builtins/gen/literal/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupOr_4d4eb0() {
-  int4 arg = (1).xxxx;
+  int4 arg = (int(1)).xxxx;
   int4 res = asint(WaveActiveBitOr(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl
index 537ccb4..ce8e906 100644
--- a/test/tint/builtins/gen/literal/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupOr_ae58b6() {
-  int res = asint(WaveActiveBitOr(asuint(1)));
+  int res = asint(WaveActiveBitOr(asuint(int(1))));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,19-44): error X3004: undeclared identifier 'WaveActiveBitOr'
+<scrubbed_path>(4,19-49): error X3004: undeclared identifier 'WaveActiveBitOr'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl
index 335b985..b30d51c 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float subgroupShuffle_030422() {
-  float res = WaveReadLaneAt(1.0f, 1);
+  float res = WaveReadLaneAt(1.0f, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-37): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl
index 60fb2c7..0580ad4 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint2 subgroupShuffle_21f083() {
-  uint2 res = WaveReadLaneAt((1u).xx, 1);
+  uint2 res = WaveReadLaneAt((1u).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-40): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-45): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl
index 211ce08..9e88cff 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffle_2ee993() {
-  int4 res = WaveReadLaneAt((1).xxxx, 1);
+  int4 res = WaveReadLaneAt((int(1)).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-50): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl
index 3059faa..43951ec 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffle_323416() {
-  int2 res = WaveReadLaneAt((1).xx, 1u);
+  int2 res = WaveReadLaneAt((int(1)).xx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-44): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl
index ed62b0d..42721ab 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint3 subgroupShuffle_4cbb69() {
-  uint3 res = WaveReadLaneAt((1u).xxx, 1);
+  uint3 res = WaveReadLaneAt((1u).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-41): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-46): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl
index d335b2a..f98e642 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint subgroupShuffle_54f328() {
-  uint res = WaveReadLaneAt(1u, 1);
+  uint res = WaveReadLaneAt(1u, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-34): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl
index 433748d..e92ee24 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float4 subgroupShuffle_5dfeab() {
-  float4 res = WaveReadLaneAt((1.0f).xxxx, 1);
+  float4 res = WaveReadLaneAt((1.0f).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-45): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,16-50): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl
index da88378..02e739e 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> subgroupShuffle_647034() {
-  vector<float16_t, 4> res = WaveReadLaneAt((float16_t(1.0h)).xxxx, 1);
+  vector<float16_t, 4> res = WaveReadLaneAt((float16_t(1.0h)).xxxx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl
index bacc3da..c883089 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float3 subgroupShuffle_7c5d64() {
-  float3 res = WaveReadLaneAt((1.0f).xxx, 1);
+  float3 res = WaveReadLaneAt((1.0f).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-44): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,16-49): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl
index feea364..0847569 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> subgroupShuffle_821df9() {
-  vector<float16_t, 3> res = WaveReadLaneAt((float16_t(1.0h)).xxx, 1);
+  vector<float16_t, 3> res = WaveReadLaneAt((float16_t(1.0h)).xxx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl
index 8a00734..13f6e25 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffle_824702() {
-  int3 res = WaveReadLaneAt((1).xxx, 1);
+  int3 res = WaveReadLaneAt((int(1)).xxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-39): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-49): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl
index 8e9a646..27ce9af 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffle_8bfbcd() {
-  int res = WaveReadLaneAt(1, 1);
+  int res = WaveReadLaneAt(int(1), int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-32): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,13-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl
index aa5b610..c29f849 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> subgroupShuffle_8c3fd2() {
-  vector<float16_t, 2> res = WaveReadLaneAt((float16_t(1.0h)).xx, 1);
+  vector<float16_t, 2> res = WaveReadLaneAt((float16_t(1.0h)).xx, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl
index 1c01042..2b3b157 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t subgroupShuffle_b0f28d() {
-  float16_t res = WaveReadLaneAt(float16_t(1.0h), 1);
+  float16_t res = WaveReadLaneAt(float16_t(1.0h), int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl
index 9bbd272..f647995 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffle_b4bbb7() {
-  int3 res = WaveReadLaneAt((1).xxx, 1u);
+  int3 res = WaveReadLaneAt((int(1)).xxx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-40): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-45): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl
index ccbc4bc..f372436 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffle_bbb06c() {
-  int2 res = WaveReadLaneAt((1).xx, 1);
+  int2 res = WaveReadLaneAt((int(1)).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-38): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-48): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl
index 70ccdcd..a200917 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffle_d4a772() {
-  int res = WaveReadLaneAt(1, 1u);
+  int res = WaveReadLaneAt(int(1), 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,13-33): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,13-38): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl
index 0b26d5b..d6f5836 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 float2 subgroupShuffle_d9ff67() {
-  float2 res = WaveReadLaneAt((1.0f).xx, 1);
+  float2 res = WaveReadLaneAt((1.0f).xx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,16-43): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,16-48): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl
index a76d5fe..4b33711 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 uint4 subgroupShuffle_e13c81() {
-  uint4 res = WaveReadLaneAt((1u).xxxx, 1);
+  uint4 res = WaveReadLaneAt((1u).xxxx, int(1));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,15-42): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,15-47): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl
index 9abb6ea..f33862d 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffle_e854d5() {
-  int4 res = WaveReadLaneAt((1).xxxx, 1u);
+  int4 res = WaveReadLaneAt((int(1)).xxxx, 1u);
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,14-41): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(4,14-46): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl
index d0fcc94..d38c64c 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffleDown_1b530f() {
-  int3 res = WaveReadLaneAt((1).xxx, (WaveGetLaneIndex() + 1u));
+  int3 res = WaveReadLaneAt((int(1)).xxx, (WaveGetLaneIndex() + 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,39-56): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,44-61): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl
index b6d6c84..e60d56c 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffleDown_313d9b() {
-  int4 res = WaveReadLaneAt((1).xxxx, (WaveGetLaneIndex() + 1u));
+  int4 res = WaveReadLaneAt((int(1)).xxxx, (WaveGetLaneIndex() + 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,40-57): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,45-62): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl
index 8943c72..eb71dd0 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffleDown_b41899() {
-  int2 res = WaveReadLaneAt((1).xx, (WaveGetLaneIndex() + 1u));
+  int2 res = WaveReadLaneAt((int(1)).xx, (WaveGetLaneIndex() + 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,38-55): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,43-60): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl
index 3832665..9fd7046 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffleDown_d269eb() {
-  int res = WaveReadLaneAt(1, (WaveGetLaneIndex() + 1u));
+  int res = WaveReadLaneAt(int(1), (WaveGetLaneIndex() + 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,32-49): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,37-54): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl
index 3573512..c27b4fc 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffleUp_1bb93f() {
-  int res = WaveReadLaneAt(1, (WaveGetLaneIndex() - 1u));
+  int res = WaveReadLaneAt(int(1), (WaveGetLaneIndex() - 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,32-49): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,37-54): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl
index a025f95..800c956 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffleUp_3e609f() {
-  int4 res = WaveReadLaneAt((1).xxxx, (WaveGetLaneIndex() - 1u));
+  int4 res = WaveReadLaneAt((int(1)).xxxx, (WaveGetLaneIndex() - 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,40-57): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,45-62): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl
index 00d318f..ad6ddf3 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffleUp_8a63f3() {
-  int3 res = WaveReadLaneAt((1).xxx, (WaveGetLaneIndex() - 1u));
+  int3 res = WaveReadLaneAt((int(1)).xxx, (WaveGetLaneIndex() - 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,39-56): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,44-61): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl
index 8219375..30a7689 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffleUp_db5bcb() {
-  int2 res = WaveReadLaneAt((1).xx, (WaveGetLaneIndex() - 1u));
+  int2 res = WaveReadLaneAt((int(1)).xx, (WaveGetLaneIndex() - 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,38-55): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,43-60): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl
index fd44362..7b26249 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffleXor_071aa0() {
-  int2 res = WaveReadLaneAt((1).xx, (WaveGetLaneIndex() ^ 1u));
+  int2 res = WaveReadLaneAt((int(1)).xx, (WaveGetLaneIndex() ^ 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,38-55): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,43-60): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl
index f0d4bf9..f6555e5 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffleXor_445e83() {
-  int res = WaveReadLaneAt(1, (WaveGetLaneIndex() ^ 1u));
+  int res = WaveReadLaneAt(int(1), (WaveGetLaneIndex() ^ 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,32-49): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,37-54): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl
index 39278b5..4321fae 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffleXor_7435fe() {
-  int3 res = WaveReadLaneAt((1).xxx, (WaveGetLaneIndex() ^ 1u));
+  int3 res = WaveReadLaneAt((int(1)).xxx, (WaveGetLaneIndex() ^ 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,39-56): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,44-61): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl
index 917dd4a..75eae2f 100644
--- a/test/tint/builtins/gen/literal/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffleXor_bdddba() {
-  int4 res = WaveReadLaneAt((1).xxxx, (WaveGetLaneIndex() ^ 1u));
+  int4 res = WaveReadLaneAt((int(1)).xxxx, (WaveGetLaneIndex() ^ 1u));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,40-57): error X3004: undeclared identifier 'WaveGetLaneIndex'
+<scrubbed_path>(4,45-62): error X3004: undeclared identifier 'WaveGetLaneIndex'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl
index ee26b2b..eeed322 100644
--- a/test/tint/builtins/gen/literal/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupXor_473de8() {
-  int2 arg = (1).xx;
+  int2 arg = (int(1)).xx;
   int2 res = asint(WaveActiveBitXor(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl
index ee3f154..213d1f0 100644
--- a/test/tint/builtins/gen/literal/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupXor_694b17() {
-  int res = asint(WaveActiveBitXor(asuint(1)));
+  int res = asint(WaveActiveBitXor(asuint(int(1))));
   return res;
 }
 
@@ -17,7 +17,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(4,19-45): error X3004: undeclared identifier 'WaveActiveBitXor'
+<scrubbed_path>(4,19-50): error X3004: undeclared identifier 'WaveActiveBitXor'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl
index 13a066f..468117a 100644
--- a/test/tint/builtins/gen/literal/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupXor_83b1f3() {
-  int4 arg = (1).xxxx;
+  int4 arg = (int(1)).xxxx;
   int4 res = asint(WaveActiveBitXor(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl
index 11e31b2..4b45bae 100644
--- a/test/tint/builtins/gen/literal/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupXor_9c6e73() {
-  int3 arg = (1).xxx;
+  int3 arg = (int(1)).xxx;
   int3 res = asint(WaveActiveBitXor(asuint(arg)));
   return res;
 }
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl
index ee80118..90c599c 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl
@@ -141,11 +141,8 @@
 }
 
 float4 textureSampleBaseClampToEdge_7c04e6() {
-  Texture2D<float4> v_60 = arg_0_plane0;
-  Texture2D<float4> v_61 = arg_0_plane1;
-  tint_ExternalTextureParams v_62 = v_37(0u);
-  tint_ExternalTextureParams v_63 = v_62;
-  float4 res = tint_TextureSampleExternal(v_60, v_61, v_63, arg_1, (1.0f).xx);
+  tint_ExternalTextureParams v_60 = v_37(0u);
+  float4 res = tint_TextureSampleExternal(arg_0_plane0, arg_0_plane1, v_60, arg_1, (1.0f).xx);
   return res;
 }
 
@@ -162,16 +159,16 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_7c04e6();
-  VertexOutput v_64 = tint_symbol;
-  return v_64;
+  VertexOutput v_61 = tint_symbol;
+  return v_61;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_65 = vertex_main_inner();
-  VertexOutput v_66 = v_65;
-  VertexOutput v_67 = v_65;
-  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
-  return v_68;
+  VertexOutput v_62 = vertex_main_inner();
+  VertexOutput v_63 = v_62;
+  VertexOutput v_64 = v_62;
+  vertex_main_outputs v_65 = {v_64.prevent_dce, v_63.pos};
+  return v_65;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.fxc.hlsl
index 1e5ea0e..9329999 100644
--- a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_06794e() {
   matrix<float16_t, 3, 3> res = matrix<float16_t, 3, 3>((float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.fxc.hlsl
index 07ea9b9..47d032c 100644
--- a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_5edd96() {
   matrix<float16_t, 2, 4> res = matrix<float16_t, 2, 4>((float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl
index 1f91e04..3a9cb65 100644
--- a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_5f36bf() {
   matrix<float16_t, 3, 4> res = matrix<float16_t, 3, 4>((float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl
index b600930..69045b4 100644
--- a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_7be8b2() {
   matrix<float16_t, 2, 2> res = matrix<float16_t, 2, 2>((float16_t(1.0h)).xx, (float16_t(1.0h)).xx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.fxc.hlsl
index b70e6c0..c423651 100644
--- a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_844869() {
   matrix<float16_t, 4, 4> res = matrix<float16_t, 4, 4>((float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl
index bdfec21..4847579 100644
--- a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_8c06ce() {
   matrix<float16_t, 4, 3> res = matrix<float16_t, 4, 3>((float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl
index ff2da21..dc560d9 100644
--- a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_b9ad1f() {
   matrix<float16_t, 2, 3> res = matrix<float16_t, 2, 3>((float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.fxc.hlsl
index d74d1ac..cb7bc37 100644
--- a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_d6faec() {
   matrix<float16_t, 3, 2> res = matrix<float16_t, 3, 2>((float16_t(1.0h)).xx, (float16_t(1.0h)).xx, (float16_t(1.0h)).xx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.fxc.hlsl
index 88c92dd..155f913 100644
--- a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int transpose_faeb05() {
   matrix<float16_t, 4, 2> res = matrix<float16_t, 4, 2>((float16_t(1.0h)).xx, (float16_t(1.0h)).xx, (float16_t(1.0h)).xx, (float16_t(1.0h)).xx);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.fxc.hlsl
index d3cbfd7..6f31be1 100644
--- a/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.fxc.hlsl
@@ -21,7 +21,7 @@
 }
 
 vector<float16_t, 2> bitcast_674557() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   vector<float16_t, 2> res = tint_bitcast_to_f16(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.fxc.hlsl
index c703ed4..4adee50 100644
--- a/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.fxc.hlsl
@@ -25,7 +25,7 @@
 }
 
 vector<float16_t, 4> bitcast_71c92a() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   vector<float16_t, 4> res = tint_bitcast_to_f16(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl
index 55dc33e..0c0d5c7 100644
--- a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,12 @@
 
 void frexp_3dd21e() {
   vector<float16_t, 4> arg_0 = (float16_t(1.0h)).xxxx;
-  frexp_result_vec4_f16 res = frexp(arg_0);
+  vector<float16_t, 4> v = arg_0;
+  vector<float16_t, 4> v_1 = (float16_t(0.0h)).xxxx;
+  vector<float16_t, 4> v_2 = frexp(v, v_1);
+  vector<float16_t, 4> v_3 = vector<float16_t, 4>(sign(v));
+  v_1 = (v_3 * v_1);
+  frexp_result_vec4_f16 res = {v_2, int4(v_1)};
 }
 
 void fragment_main() {
@@ -32,14 +37,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   frexp_3dd21e();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_5 = vertex_main_inner();
+  vertex_main_outputs v_6 = {v_5.pos};
+  return v_6;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.ir.fxc.hlsl
index 60469d9..8536b41 100644
--- a/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,12 @@
 
 void frexp_5257dd() {
   float16_t arg_0 = float16_t(1.0h);
-  frexp_result_f16 res = frexp(arg_0);
+  float16_t v = arg_0;
+  float16_t v_1 = float16_t(0.0h);
+  float16_t v_2 = frexp(v, v_1);
+  float16_t v_3 = float16_t(sign(v));
+  v_1 = (v_3 * v_1);
+  frexp_result_f16 res = {v_2, int(v_1)};
 }
 
 void fragment_main() {
@@ -32,14 +37,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   frexp_5257dd();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_5 = vertex_main_inner();
+  vertex_main_outputs v_6 = {v_5.pos};
+  return v_6;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl
index 7203344..9d2be3e 100644
--- a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,12 @@
 
 void frexp_5f47bf() {
   vector<float16_t, 2> arg_0 = (float16_t(1.0h)).xx;
-  frexp_result_vec2_f16 res = frexp(arg_0);
+  vector<float16_t, 2> v = arg_0;
+  vector<float16_t, 2> v_1 = (float16_t(0.0h)).xx;
+  vector<float16_t, 2> v_2 = frexp(v, v_1);
+  vector<float16_t, 2> v_3 = vector<float16_t, 2>(sign(v));
+  v_1 = (v_3 * v_1);
+  frexp_result_vec2_f16 res = {v_2, int2(v_1)};
 }
 
 void fragment_main() {
@@ -32,14 +37,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   frexp_5f47bf();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_5 = vertex_main_inner();
+  vertex_main_outputs v_6 = {v_5.pos};
+  return v_6;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl
index cfba1e3..3f0c560 100644
--- a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,12 @@
 
 void frexp_ae4a66() {
   vector<float16_t, 3> arg_0 = (float16_t(1.0h)).xxx;
-  frexp_result_vec3_f16 res = frexp(arg_0);
+  vector<float16_t, 3> v = arg_0;
+  vector<float16_t, 3> v_1 = (float16_t(0.0h)).xxx;
+  vector<float16_t, 3> v_2 = frexp(v, v_1);
+  vector<float16_t, 3> v_3 = vector<float16_t, 3>(sign(v));
+  v_1 = (v_3 * v_1);
+  frexp_result_vec3_f16 res = {v_2, int3(v_1)};
 }
 
 void fragment_main() {
@@ -32,14 +37,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   frexp_ae4a66();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_5 = vertex_main_inner();
+  vertex_main_outputs v_6 = {v_5.pos};
+  return v_6;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/inputAttachmentLoad/315bf5.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/inputAttachmentLoad/c38b2f.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl
index 699df01..0f43a68 100644
--- a/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/inputAttachmentLoad/fc4d97.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1063 internal compiler error: HLSL does not support inputAttachmentLoad
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1064 internal compiler error: HLSL does not support inputAttachmentLoad
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.fxc.hlsl
index fbc028f..52db8b0 100644
--- a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t ldexp_082c1f() {
   float16_t arg_0 = float16_t(1.0h);
-  float16_t res = ldexp(arg_0, 1);
+  float16_t res = ldexp(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.fxc.hlsl
index 88df88e..b87ccb0 100644
--- a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> ldexp_217a31() {
   vector<float16_t, 2> arg_0 = (float16_t(1.0h)).xx;
-  vector<float16_t, 2> res = ldexp(arg_0, (1).xx);
+  vector<float16_t, 2> res = ldexp(arg_0, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.fxc.hlsl
index 5f61ed6..d7ac9e7 100644
--- a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> ldexp_3d90b4() {
   vector<float16_t, 2> arg_0 = (float16_t(1.0h)).xx;
-  int2 arg_1 = (1).xx;
+  int2 arg_1 = (int(1)).xx;
   vector<float16_t, 2> res = ldexp(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.fxc.hlsl
index 796e2a2..81dbbef 100644
--- a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t ldexp_624e0c() {
   float16_t arg_0 = float16_t(1.0h);
-  int arg_1 = 1;
+  int arg_1 = int(1);
   float16_t res = ldexp(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.fxc.hlsl
index 5745140..02f696a 100644
--- a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> ldexp_7485ce() {
   vector<float16_t, 3> arg_0 = (float16_t(1.0h)).xxx;
-  int3 arg_1 = (1).xxx;
+  int3 arg_1 = (int(1)).xxx;
   vector<float16_t, 3> res = ldexp(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.fxc.hlsl
index dc3ec3f..3abd294 100644
--- a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> ldexp_7fa13c() {
   vector<float16_t, 4> arg_0 = (float16_t(1.0h)).xxxx;
-  int4 arg_1 = (1).xxxx;
+  int4 arg_1 = (int(1)).xxxx;
   vector<float16_t, 4> res = ldexp(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.fxc.hlsl
index 0ec1a8c..82cb798 100644
--- a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> ldexp_8a0c2f() {
   vector<float16_t, 4> arg_0 = (float16_t(1.0h)).xxxx;
-  vector<float16_t, 4> res = ldexp(arg_0, (1).xxxx);
+  vector<float16_t, 4> res = ldexp(arg_0, (int(1)).xxxx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.fxc.hlsl
index a2e70ab..0a09f8e 100644
--- a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> ldexp_8e43e9() {
   vector<float16_t, 3> arg_0 = (float16_t(1.0h)).xxx;
-  vector<float16_t, 3> res = ldexp(arg_0, (1).xxx);
+  vector<float16_t, 3> res = ldexp(arg_0, (int(1)).xxx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.ir.fxc.hlsl
index 9594c11..4a9a90f 100644
--- a/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,9 @@
 
 void modf_45005f() {
   vector<float16_t, 3> arg_0 = (float16_t(-1.5h)).xxx;
-  modf_result_vec3_f16 res = modf(arg_0);
+  vector<float16_t, 3> v = (float16_t(0.0h)).xxx;
+  vector<float16_t, 3> v_1 = modf(arg_0, v);
+  modf_result_vec3_f16 res = {v_1, v};
 }
 
 void fragment_main() {
@@ -32,14 +34,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   modf_45005f();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_3 = vertex_main_inner();
+  vertex_main_outputs v_4 = {v_3.pos};
+  return v_4;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.ir.fxc.hlsl
index 9fdf9d8..5414059 100644
--- a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,9 @@
 
 void modf_8dbbbf() {
   float16_t arg_0 = float16_t(-1.5h);
-  modf_result_f16 res = modf(arg_0);
+  float16_t v = float16_t(0.0h);
+  float16_t v_1 = modf(arg_0, v);
+  modf_result_f16 res = {v_1, v};
 }
 
 void fragment_main() {
@@ -32,14 +34,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   modf_8dbbbf();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_3 = vertex_main_inner();
+  vertex_main_outputs v_4 = {v_3.pos};
+  return v_4;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/modf/995934.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/modf/995934.wgsl.expected.ir.fxc.hlsl
index 2b63cdf..613f33a 100644
--- a/test/tint/builtins/gen/var/modf/995934.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/modf/995934.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,9 @@
 
 void modf_995934() {
   vector<float16_t, 4> arg_0 = (float16_t(-1.5h)).xxxx;
-  modf_result_vec4_f16 res = modf(arg_0);
+  vector<float16_t, 4> v = (float16_t(0.0h)).xxxx;
+  vector<float16_t, 4> v_1 = modf(arg_0, v);
+  modf_result_vec4_f16 res = {v_1, v};
 }
 
 void fragment_main() {
@@ -32,14 +34,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   modf_995934();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_3 = vertex_main_inner();
+  vertex_main_outputs v_4 = {v_3.pos};
+  return v_4;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.ir.fxc.hlsl
index b1f3ade..2c5530c 100644
--- a/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.ir.fxc.hlsl
@@ -16,7 +16,9 @@
 
 void modf_a545b9() {
   vector<float16_t, 2> arg_0 = (float16_t(-1.5h)).xx;
-  modf_result_vec2_f16 res = modf(arg_0);
+  vector<float16_t, 2> v = (float16_t(0.0h)).xx;
+  vector<float16_t, 2> v_1 = modf(arg_0, v);
+  modf_result_vec2_f16 res = {v_1, v};
 }
 
 void fragment_main() {
@@ -32,14 +34,14 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   modf_a545b9();
-  VertexOutput v = tint_symbol;
-  return v;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_1 = vertex_main_inner();
-  vertex_main_outputs v_2 = {v_1.pos};
-  return v_2;
+  VertexOutput v_3 = vertex_main_inner();
+  vertex_main_outputs v_4 = {v_3.pos};
+  return v_4;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl
index f2db57c..f44feed 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/0464d1.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> quadBroadcast_0464d1() {
   vector<float16_t, 2> arg_0 = (float16_t(1.0h)).xx;
-  vector<float16_t, 2> res = QuadReadLaneAt(arg_0, 1);
+  vector<float16_t, 2> res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl
index a832ad5..43883be 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/0639ea.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadBroadcast_0639ea() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = QuadReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl
index 188a520..29c0113 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/0e0e6e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadBroadcast_0e0e6e() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = QuadReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl
index 6629fdb..1e8c508 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/355db5.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float3 quadBroadcast_355db5() {
   float3 arg_0 = (1.0f).xxx;
-  float3 res = QuadReadLaneAt(arg_0, 1);
+  float3 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,16-39): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,16-44): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl
index 6550514..1f62b91 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/4d9898.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> quadBroadcast_4d9898() {
   vector<float16_t, 4> arg_0 = (float16_t(1.0h)).xxxx;
-  vector<float16_t, 4> res = QuadReadLaneAt(arg_0, 1);
+  vector<float16_t, 4> res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl
index 08b5c3b..7fd74bd 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/641316.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint2 quadBroadcast_641316() {
   uint2 arg_0 = (1u).xx;
-  uint2 res = QuadReadLaneAt(arg_0, 1);
+  uint2 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl
index 2d8f195..e3bc13c 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/704803.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadBroadcast_704803() {
-  int3 arg_0 = (1).xxx;
-  int3 res = QuadReadLaneAt(arg_0, 1);
+  int3 arg_0 = (int(1)).xxx;
+  int3 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl
index 1c2f162..4c9fdfc 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/76f499.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadBroadcast_76f499() {
-  int4 arg_0 = (1).xxxx;
-  int4 res = QuadReadLaneAt(arg_0, 1);
+  int4 arg_0 = (int(1)).xxxx;
+  int4 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl
index cbbe7c9..ed083daf 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/78129b.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t quadBroadcast_78129b() {
   float16_t arg_0 = float16_t(1.0h);
-  float16_t res = QuadReadLaneAt(arg_0, 1);
+  float16_t res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl
index 72c1daa..d515e8d 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/796753.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> quadBroadcast_796753() {
   vector<float16_t, 3> arg_0 = (float16_t(1.0h)).xxx;
-  vector<float16_t, 3> res = QuadReadLaneAt(arg_0, 1);
+  vector<float16_t, 3> res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl
index 5af5316..bc19487 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/9d802c.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float4 quadBroadcast_9d802c() {
   float4 arg_0 = (1.0f).xxxx;
-  float4 res = QuadReadLaneAt(arg_0, 1);
+  float4 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,16-39): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,16-44): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl
index 4fe38f6..c11240c 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/a2d2b4.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint quadBroadcast_a2d2b4() {
   uint arg_0 = 1u;
-  uint res = QuadReadLaneAt(arg_0, 1);
+  uint res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl
index e3473fd..1e942fc 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/b68331.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint4 quadBroadcast_b68331() {
   uint4 arg_0 = (1u).xxxx;
-  uint4 res = QuadReadLaneAt(arg_0, 1);
+  uint4 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl
index 9f6dc59..12839e3 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/bed00b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadBroadcast_bed00b() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = QuadReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl
index 66dc9fb..be807c2 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/c0e704.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadBroadcast_c0e704() {
-  int2 arg_0 = (1).xx;
-  int2 res = QuadReadLaneAt(arg_0, 1);
+  int2 arg_0 = (int(1)).xx;
+  int2 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl
index adbff29..a70bd1f 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/cfbf48.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float2 quadBroadcast_cfbf48() {
   float2 arg_0 = (1.0f).xx;
-  float2 res = QuadReadLaneAt(arg_0, 1);
+  float2 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,16-39): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,16-44): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl
index c1e3c33..9a03f60 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/e6d39d.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float quadBroadcast_e6d39d() {
   float arg_0 = 1.0f;
-  float res = QuadReadLaneAt(arg_0, 1);
+  float res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl
index 80404de..55019dd 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/f1e8ec.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint3 quadBroadcast_f1e8ec() {
   uint3 arg_0 = (1u).xxx;
-  uint3 res = QuadReadLaneAt(arg_0, 1);
+  uint3 res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl
index 5eb0318..4eaf158 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/f5f923.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadBroadcast_f5f923() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = QuadReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl
index e0b39fc..be52b86 100644
--- a/test/tint/builtins/gen/var/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadBroadcast/f9d579.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadBroadcast_f9d579() {
-  int arg_0 = 1;
-  int res = QuadReadLaneAt(arg_0, 1);
+  int arg_0 = int(1);
+  int res = QuadReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,13-36): error X3004: undeclared identifier 'QuadReadLaneAt'
+<scrubbed_path>(5,13-41): error X3004: undeclared identifier 'QuadReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl
index 03d2915..6bd0a1d 100644
--- a/test/tint/builtins/gen/var/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapDiagonal/9ccb38.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadSwapDiagonal_9ccb38() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = QuadReadAcrossDiagonal(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl
index 8b3b442..b76c4b4 100644
--- a/test/tint/builtins/gen/var/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapDiagonal/a090b0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadSwapDiagonal_a090b0() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = QuadReadAcrossDiagonal(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl
index c307db1..68a9d8b 100644
--- a/test/tint/builtins/gen/var/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapDiagonal/a665b1.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadSwapDiagonal_a665b1() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = QuadReadAcrossDiagonal(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl
index 79b0841..cecab8c 100644
--- a/test/tint/builtins/gen/var/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapDiagonal/a82e1d.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadSwapDiagonal_a82e1d() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = QuadReadAcrossDiagonal(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl
index 7cadb4b..6e43061 100644
--- a/test/tint/builtins/gen/var/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapX/053f3b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadSwapX_053f3b() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = QuadReadAcrossX(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl
index e00bb1f..3d0fc28 100644
--- a/test/tint/builtins/gen/var/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapX/1e1086.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadSwapX_1e1086() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = QuadReadAcrossX(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl
index 46079a0..de67fa6 100644
--- a/test/tint/builtins/gen/var/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapX/b1a5fe.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadSwapX_b1a5fe() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = QuadReadAcrossX(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl
index 8b53558..1196a0d 100644
--- a/test/tint/builtins/gen/var/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapX/edfa1f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadSwapX_edfa1f() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = QuadReadAcrossX(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl
index ad4a5e7..8a3909a 100644
--- a/test/tint/builtins/gen/var/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapY/0d05a8.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 quadSwapY_0d05a8() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = QuadReadAcrossY(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl
index 485864d..7d3317d 100644
--- a/test/tint/builtins/gen/var/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapY/14bb9a.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 quadSwapY_14bb9a() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = QuadReadAcrossY(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl
index 9980427..9aa9333 100644
--- a/test/tint/builtins/gen/var/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapY/94ab6d.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int quadSwapY_94ab6d() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = QuadReadAcrossY(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl
index 7b14485..5bd625e6 100644
--- a/test/tint/builtins/gen/var/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quadSwapY/be4e72.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 quadSwapY_be4e72() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = QuadReadAcrossY(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl
index fc27bed..b31f4a8 100644
--- a/test/tint/builtins/gen/var/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAdd/1eb429.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupAdd_1eb429() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WaveActiveSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl
index 779107e..67988af 100644
--- a/test/tint/builtins/gen/var/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAdd/22d041.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupAdd_22d041() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WaveActiveSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl
index 0d78a85..7fd7e87 100644
--- a/test/tint/builtins/gen/var/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAdd/28db2c.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupAdd_28db2c() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WaveActiveSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl
index 0d1ce05..f360924 100644
--- a/test/tint/builtins/gen/var/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAdd/ba53f9.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupAdd_ba53f9() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WaveActiveSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl
index f9b1362..19ce3a4 100644
--- a/test/tint/builtins/gen/var/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAll/c962bd.wgsl.expected.ir.fxc.hlsl
@@ -5,7 +5,7 @@
 int subgroupAll_c962bd() {
   bool arg_0 = true;
   bool res = WaveActiveAllTrue(arg_0);
-  return ((all((res == false))) ? (1) : (0));
+  return ((all((res == false))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl
index 8543a2e..406312e 100644
--- a/test/tint/builtins/gen/var/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAnd/1877b3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupAnd_1877b3() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = asint(WaveActiveBitAnd(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl
index d5874da..45a58cb 100644
--- a/test/tint/builtins/gen/var/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAnd/4adc72.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupAnd_4adc72() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = asint(WaveActiveBitAnd(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl
index 71943f4..659ea49 100644
--- a/test/tint/builtins/gen/var/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAnd/97655b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupAnd_97655b() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = asint(WaveActiveBitAnd(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl
index d50cc23..f94b074 100644
--- a/test/tint/builtins/gen/var/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAnd/c6fc92.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupAnd_c6fc92() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = asint(WaveActiveBitAnd(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl
index 04e8562..9969c71 100644
--- a/test/tint/builtins/gen/var/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupAny/cddda0.wgsl.expected.ir.fxc.hlsl
@@ -5,7 +5,7 @@
 int subgroupAny_cddda0() {
   bool arg_0 = true;
   bool res = WaveActiveAnyTrue(arg_0);
-  return ((all((res == false))) ? (1) : (0));
+  return ((all((res == false))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl
index 2e5b55f..a83d1a1 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/02f329.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> subgroupBroadcast_02f329() {
   vector<float16_t, 4> arg_0 = (float16_t(1.0h)).xxxx;
-  vector<float16_t, 4> res = WaveReadLaneAt(arg_0, 1);
+  vector<float16_t, 4> res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl
index 6b56933..7309de8 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/1d79c7.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupBroadcast_1d79c7() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WaveReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl
index 39b0070..5cf64c5 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/2b59c9.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupBroadcast_2b59c9() {
-  int3 arg_0 = (1).xxx;
-  int3 res = WaveReadLaneAt(arg_0, 1);
+  int3 arg_0 = (int(1)).xxx;
+  int3 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl
index 41141b5..3e897a3 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/34ae44.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint3 subgroupBroadcast_34ae44() {
   uint3 arg_0 = (1u).xxx;
-  uint3 res = WaveReadLaneAt(arg_0, 1);
+  uint3 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl
index 0400679..ca62f9b8 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/3e6879.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupBroadcast_3e6879() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WaveReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl
index 4c856c2..83659a2 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/49de94.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint subgroupBroadcast_49de94() {
   uint arg_0 = 1u;
-  uint res = WaveReadLaneAt(arg_0, 1);
+  uint res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl
index e91b7d5..9ccd7df 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/6290a2.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupBroadcast_6290a2() {
-  int4 arg_0 = (1).xxxx;
-  int4 res = WaveReadLaneAt(arg_0, 1);
+  int4 arg_0 = (int(1)).xxxx;
+  int4 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl
index 9f05afa..0bf74ac 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/719ad6.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t subgroupBroadcast_719ad6() {
   float16_t arg_0 = float16_t(1.0h);
-  float16_t res = WaveReadLaneAt(arg_0, 1);
+  float16_t res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl
index b5a6e7c..cb86a4e 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/727609.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint4 subgroupBroadcast_727609() {
   uint4 arg_0 = (1u).xxxx;
-  uint4 res = WaveReadLaneAt(arg_0, 1);
+  uint4 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl
index 4edbeaf..fc0d737 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/838c78.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float4 subgroupBroadcast_838c78() {
   float4 arg_0 = (1.0f).xxxx;
-  float4 res = WaveReadLaneAt(arg_0, 1);
+  float4 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,16-39): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,16-44): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl
index 432dff0..0ec22cd 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/867093.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float subgroupBroadcast_867093() {
   float arg_0 = 1.0f;
-  float res = WaveReadLaneAt(arg_0, 1);
+  float res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl
index 6d440bc..8c00bdf 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/8855b2.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float3 subgroupBroadcast_8855b2() {
   float3 arg_0 = (1.0f).xxx;
-  float3 res = WaveReadLaneAt(arg_0, 1);
+  float3 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,16-39): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,16-44): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl
index 7eb2f76..a632fc8 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/9ccdca.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupBroadcast_9ccdca() {
-  int arg_0 = 1;
-  int res = WaveReadLaneAt(arg_0, 1);
+  int arg_0 = int(1);
+  int res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,13-36): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,13-41): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl
index 3f61643..fa0d470 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/a279d7.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint2 subgroupBroadcast_a279d7() {
   uint2 arg_0 = (1u).xx;
-  uint2 res = WaveReadLaneAt(arg_0, 1);
+  uint2 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,15-38): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,15-43): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl
index b22dfb1..6a5eba6 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/a3b3e5.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> subgroupBroadcast_a3b3e5() {
   vector<float16_t, 3> arg_0 = (float16_t(1.0h)).xxx;
-  vector<float16_t, 3> res = WaveReadLaneAt(arg_0, 1);
+  vector<float16_t, 3> res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl
index 7630e5c..675242c 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/cd7aa1.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float2 subgroupBroadcast_cd7aa1() {
   float2 arg_0 = (1.0f).xx;
-  float2 res = WaveReadLaneAt(arg_0, 1);
+  float2 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,16-39): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,16-44): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl
index 47db641..c6d7a6d 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/e275c8.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupBroadcast_e275c8() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WaveReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl
index ac98fe6..4527dc1 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/e4dd1a.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> subgroupBroadcast_e4dd1a() {
   vector<float16_t, 2> arg_0 = (float16_t(1.0h)).xx;
-  vector<float16_t, 2> res = WaveReadLaneAt(arg_0, 1);
+  vector<float16_t, 2> res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl
index 965c529..e78982e 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/f637f9.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupBroadcast_f637f9() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WaveReadLaneAt(arg_0, 1u);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl
index 1d8e11e..ae2ee58 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcast/fa6810.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupBroadcast_fa6810() {
-  int2 arg_0 = (1).xx;
-  int2 res = WaveReadLaneAt(arg_0, 1);
+  int2 arg_0 = (int(1)).xx;
+  int2 res = WaveReadLaneAt(arg_0, int(1));
   return res;
 }
 
@@ -18,7 +18,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(5,14-37): error X3004: undeclared identifier 'WaveReadLaneAt'
+<scrubbed_path>(5,14-42): error X3004: undeclared identifier 'WaveReadLaneAt'
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl
index 08a359d..b33742a1 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcastFirst/85b351.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupBroadcastFirst_85b351() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WaveReadLaneFirst(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl
index 0e72355..0250d18 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcastFirst/9a1bdc.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupBroadcastFirst_9a1bdc() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WaveReadLaneFirst(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl
index 1c1e7b0..9ade133 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcastFirst/9dccee.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupBroadcastFirst_9dccee() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WaveReadLaneFirst(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl
index bd697a9..723fa73 100644
--- a/test/tint/builtins/gen/var/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupBroadcastFirst/e820d4.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupBroadcastFirst_e820d4() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WaveReadLaneFirst(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl
index cbf94dd..74e268c 100644
--- a/test/tint/builtins/gen/var/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupElect/3943d6.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupElect_3943d6() {
   bool res = WaveIsFirstLane();
-  return ((all((res == false))) ? (1) : (0));
+  return ((all((res == false))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl
index f22eb05..75512f7 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveAdd/406ab4.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupExclusiveAdd_406ab4() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WavePrefixSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl
index 2c92d3f..5104443 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveAdd/b0c261.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupExclusiveAdd_b0c261() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WavePrefixSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl
index cffbe64..55430c1 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveAdd/c08160.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupExclusiveAdd_c08160() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WavePrefixSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl
index cece7e0..1e2f450 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveAdd/f0f712.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupExclusiveAdd_f0f712() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WavePrefixSum(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl
index 3a3fe4e..72604dd 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveMul/019660.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupExclusiveMul_019660() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WavePrefixProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl
index 19e57a9..2c7246c 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveMul/4525a3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupExclusiveMul_4525a3() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WavePrefixProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl
index 418bd9f..d207702 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveMul/87f23e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupExclusiveMul_87f23e() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WavePrefixProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl
index 4250599..6acee71 100644
--- a/test/tint/builtins/gen/var/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupExclusiveMul/a23002.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupExclusiveMul_a23002() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WavePrefixProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl
index f3f01b0..9064402 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/1b7680.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveAdd_1b7680()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,14-29): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl
index 2753838..7ba29d9 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/367caa.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveAdd_367caa()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,17-32): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl
index 7e90126..edc7e02 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/58ea3d.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<vector<float16_t, 4> >(0u, subgroupInclusiveAdd_58ea3d());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl
index 5d0a0b0..953a8c7 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/7ed675.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store(0u, subgroupInclusiveAdd_7ed675());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-30): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl
index bc8cc83..745c058 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/7f2040.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<vector<float16_t, 3> >(0u, subgroupInclusiveAdd_7f2040());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl
index 6bc1f45..a9002a7 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/8bbe75.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store4(0u, subgroupInclusiveAdd_8bbe75());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-31): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl
index 54e5730..ed2f427 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/9bbcb0.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store2(0u, subgroupInclusiveAdd_9bbcb0());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-31): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl
index a3e7f90..93c1187 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/a7c60f.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<vector<float16_t, 2> >(0u, subgroupInclusiveAdd_a7c60f());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl
index 5fcb849..11f91a5 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/b787ce.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveAdd_b787ce()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,17-32): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl
index e685b61..924b857 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/c816b2.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveAdd_c816b2()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-30): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl
index 6e61b1f..1aba6ed 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/dde86f.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<float16_t>(0u, subgroupInclusiveAdd_dde86f());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,1-9): error X3000: unrecognized identifier 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl
index 11884ae..f062154 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/df692b.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveAdd_df692b()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-31): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl
index d9268f4..d464791 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/e18ebb.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveAdd_e18ebb()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-30): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl
index c4dc65d..6ba350d 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/f43b30.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store3(0u, subgroupInclusiveAdd_f43b30());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-31): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl
index 99cd1cc..04c15f8 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/f8906d.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveAdd_f8906d()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,17-32): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl
index 3d40d5c..d82461ef 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveAdd/fabbde.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveAdd_fabbde()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-30): error X3004: undeclared identifier 'WavePrefixSum'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl
index 347de89..6cf3ea5 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/01dc9b.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveMul_01dc9b()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,17-36): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl
index b159867..d488793 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/10a1ef.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<float16_t>(0u, subgroupInclusiveMul_10a1ef());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,1-9): error X3000: unrecognized identifier 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl
index 3a3d20b..33e4eba 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/1cdf5c.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store4(0u, subgroupInclusiveMul_1cdf5c());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-35): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl
index c5ff603..e5c986d 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/2a7ec7.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveMul_2a7ec7()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-35): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl
index dcf1f58..8f3c2b6 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/2f8076.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<vector<float16_t, 3> >(0u, subgroupInclusiveMul_2f8076());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl
index bd92fe4..18bcbcd 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/359176.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store3(0u, subgroupInclusiveMul_359176());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-35): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl
index a2e238b..db31181 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/4430d5.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<vector<float16_t, 4> >(0u, subgroupInclusiveMul_4430d5());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl
index a669deb..e83a3f13 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/517979.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveMul_517979()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-34): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl
index c8948b5..2f44c6c 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/69326e.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store4(0u, asuint(subgroupInclusiveMul_69326e()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,17-36): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl
index 1174571..9161795 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/769def.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveMul_769def()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-34): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl
index 58b3924..4fd4bff 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/7978b8.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store3(0u, asuint(subgroupInclusiveMul_7978b8()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,17-36): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl
index 666de20..b85f658 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/89437b.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store(0u, subgroupInclusiveMul_89437b());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-34): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl
index ee17eab..b2ee18d 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/9a54ec.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store(0u, asuint(subgroupInclusiveMul_9a54ec()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,14-33): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl
index d2f33ca..d444783 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/ac5df5.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store<vector<float16_t, 2> >(0u, subgroupInclusiveMul_ac5df5());
 }
 
+FXC validation failure:
+<scrubbed_path>(3,8-16): error X3000: syntax error: unexpected token 'float16_t'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl
index 9842adb..9d05df8 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/dada1d.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store2(0u, subgroupInclusiveMul_dada1d());
 }
 
+FXC validation failure:
+<scrubbed_path>(6,16-35): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl
index 5fe8f72..84eb76a 100644
--- a/test/tint/builtins/gen/var/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupInclusiveMul/e713f5.wgsl.expected.ir.fxc.hlsl
@@ -18,3 +18,8 @@
   prevent_dce.Store2(0u, asuint(subgroupInclusiveMul_e713f5()));
 }
 
+FXC validation failure:
+<scrubbed_path>(6,15-34): error X3004: undeclared identifier 'WavePrefixProduct'
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl
index 6a82df7..31cc8f6 100644
--- a/test/tint/builtins/gen/var/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMax/4ea90e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupMax_4ea90e() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WaveActiveMax(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl
index 5436148..29e15a5 100644
--- a/test/tint/builtins/gen/var/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMax/6c913e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupMax_6c913e() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WaveActiveMax(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl
index 35d760b..e33a21d 100644
--- a/test/tint/builtins/gen/var/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMax/932164.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupMax_932164() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WaveActiveMax(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl
index 3d9caec..d77c4b4 100644
--- a/test/tint/builtins/gen/var/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMax/a3d5f7.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupMax_a3d5f7() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WaveActiveMax(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl
index 2e4aae6..5fd2c48 100644
--- a/test/tint/builtins/gen/var/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMin/030ad6.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupMin_030ad6() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WaveActiveMin(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl
index cbdd7c8..2982050 100644
--- a/test/tint/builtins/gen/var/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMin/0bc13a.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupMin_0bc13a() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WaveActiveMin(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl
index 94be43d..1183ea9 100644
--- a/test/tint/builtins/gen/var/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMin/1de104.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupMin_1de104() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WaveActiveMin(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl
index 0df5b87..8c029cb 100644
--- a/test/tint/builtins/gen/var/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMin/a96a2e.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupMin_a96a2e() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WaveActiveMin(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl
index 987e59f..13891f2 100644
--- a/test/tint/builtins/gen/var/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMul/3fe886.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupMul_3fe886() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = WaveActiveProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl
index 235265d..884634a 100644
--- a/test/tint/builtins/gen/var/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMul/5a8c86.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupMul_5a8c86() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = WaveActiveProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl
index 3e64040..daad843 100644
--- a/test/tint/builtins/gen/var/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMul/d584a2.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupMul_d584a2() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = WaveActiveProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl
index cee9cc1..51c42b0 100644
--- a/test/tint/builtins/gen/var/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMul/fab258.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupMul_fab258() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = WaveActiveProduct(arg_0);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl
index c3d60b7..f5a37d6 100644
--- a/test/tint/builtins/gen/var/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupOr/03343f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupOr_03343f() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = asint(WaveActiveBitOr(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl
index 21f75be..08d4db3 100644
--- a/test/tint/builtins/gen/var/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupOr/3f60e0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupOr_3f60e0() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = asint(WaveActiveBitOr(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl
index b4de896..bb64d20 100644
--- a/test/tint/builtins/gen/var/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupOr/4d4eb0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupOr_4d4eb0() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = asint(WaveActiveBitOr(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl
index 0c3528f..d962e2e 100644
--- a/test/tint/builtins/gen/var/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupOr/ae58b6.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupOr_ae58b6() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = asint(WaveActiveBitOr(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl
index e668d1f..6034fbe 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/030422.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float subgroupShuffle_030422() {
   float arg_0 = 1.0f;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   float res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl
index b33f534..3ad21a6 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/21f083.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint2 subgroupShuffle_21f083() {
   uint2 arg_0 = (1u).xx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   uint2 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl
index 9f625a9..6eb020e 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/2ee993.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffle_2ee993() {
-  int4 arg_0 = (1).xxxx;
-  int arg_1 = 1;
+  int4 arg_0 = (int(1)).xxxx;
+  int arg_1 = int(1);
   int4 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl
index 7b16fd7..81bcb2a 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/323416.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffle_323416() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   uint arg_1 = 1u;
   int2 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl
index d22dc69..a0810ff 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/4cbb69.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint3 subgroupShuffle_4cbb69() {
   uint3 arg_0 = (1u).xxx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   uint3 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl
index c482bf4..ab3de7e 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/54f328.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint subgroupShuffle_54f328() {
   uint arg_0 = 1u;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   uint res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl
index ca589a6..2e1dad6 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/5dfeab.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float4 subgroupShuffle_5dfeab() {
   float4 arg_0 = (1.0f).xxxx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   float4 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl
index d6fc289..4b9745f 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/647034.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 4> subgroupShuffle_647034() {
   vector<float16_t, 4> arg_0 = (float16_t(1.0h)).xxxx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   vector<float16_t, 4> res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl
index c836ee0..c7e8f45 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/7c5d64.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float3 subgroupShuffle_7c5d64() {
   float3 arg_0 = (1.0f).xxx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   float3 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl
index 3c4744e..bab803e 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/821df9.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 3> subgroupShuffle_821df9() {
   vector<float16_t, 3> arg_0 = (float16_t(1.0h)).xxx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   vector<float16_t, 3> res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl
index 52ff6a0..366e8f1 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/824702.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffle_824702() {
-  int3 arg_0 = (1).xxx;
-  int arg_1 = 1;
+  int3 arg_0 = (int(1)).xxx;
+  int arg_1 = int(1);
   int3 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl
index 465b1e3..d46d032a 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/8bfbcd.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffle_8bfbcd() {
-  int arg_0 = 1;
-  int arg_1 = 1;
+  int arg_0 = int(1);
+  int arg_1 = int(1);
   int res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl
index ecf0112..c219d2e 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/8c3fd2.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 vector<float16_t, 2> subgroupShuffle_8c3fd2() {
   vector<float16_t, 2> arg_0 = (float16_t(1.0h)).xx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   vector<float16_t, 2> res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl
index d7d1d0e..e8d04f5 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/b0f28d.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float16_t subgroupShuffle_b0f28d() {
   float16_t arg_0 = float16_t(1.0h);
-  int arg_1 = 1;
+  int arg_1 = int(1);
   float16_t res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl
index 07eccf2..0156c1d 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/b4bbb7.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffle_b4bbb7() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   uint arg_1 = 1u;
   int3 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl
index 3639c89..4003a33 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/bbb06c.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,8 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffle_bbb06c() {
-  int2 arg_0 = (1).xx;
-  int arg_1 = 1;
+  int2 arg_0 = (int(1)).xx;
+  int arg_1 = int(1);
   int2 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl
index 72e9e66..99fef71 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/d4a772.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffle_d4a772() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   uint arg_1 = 1u;
   int res = WaveReadLaneAt(arg_0, arg_1);
   return res;
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl
index 892d91b..5f09dd3 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/d9ff67.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 float2 subgroupShuffle_d9ff67() {
   float2 arg_0 = (1.0f).xx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   float2 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl
index 58b67d9..78ae0b4 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/e13c81.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 uint4 subgroupShuffle_e13c81() {
   uint4 arg_0 = (1u).xxxx;
-  int arg_1 = 1;
+  int arg_1 = int(1);
   uint4 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl
index cf49942..1adad26 100644
--- a/test/tint/builtins/gen/var/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffle/e854d5.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffle_e854d5() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   uint arg_1 = 1u;
   int4 res = WaveReadLaneAt(arg_0, arg_1);
   return res;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl
index 63d468a..7ba05c9 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleDown/1b530f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffleDown_1b530f() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   uint arg_1 = 1u;
   int3 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl
index 6f5c954..f453cb6 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleDown/313d9b.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffleDown_313d9b() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   uint arg_1 = 1u;
   int4 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl
index 72af6a9..9412f7b 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleDown/b41899.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffleDown_b41899() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   uint arg_1 = 1u;
   int2 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl
index 0fc2ec5..ccbb892 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleDown/d269eb.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffleDown_d269eb() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   uint arg_1 = 1u;
   int v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl
index ea65934..6d7cfe5 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleUp/1bb93f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffleUp_1bb93f() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   uint arg_1 = 1u;
   int v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl
index 590308e..e6cc51f 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleUp/3e609f.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffleUp_3e609f() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   uint arg_1 = 1u;
   int4 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl
index 45032de..517d2f8 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleUp/8a63f3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffleUp_8a63f3() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   uint arg_1 = 1u;
   int3 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl
index fea3ece..d6ce198 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleUp/db5bcb.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffleUp_db5bcb() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   uint arg_1 = 1u;
   int2 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl
index e55beeb..1fc7611 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleXor/071aa0.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupShuffleXor_071aa0() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   uint arg_1 = 1u;
   int2 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl
index 91ea397..b8bcda8 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleXor/445e83.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupShuffleXor_445e83() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   uint arg_1 = 1u;
   int v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl
index ef5f5a3..01c10fc 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleXor/7435fe.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupShuffleXor_7435fe() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   uint arg_1 = 1u;
   int3 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl
index fed8167..a872b64 100644
--- a/test/tint/builtins/gen/var/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupShuffleXor/bdddba.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupShuffleXor_bdddba() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   uint arg_1 = 1u;
   int4 v = arg_0;
   uint v_1 = arg_1;
diff --git a/test/tint/builtins/gen/var/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl
index 8287c87..fb353fb 100644
--- a/test/tint/builtins/gen/var/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupXor/473de8.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int2 subgroupXor_473de8() {
-  int2 arg_0 = (1).xx;
+  int2 arg_0 = (int(1)).xx;
   int2 res = asint(WaveActiveBitXor(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl
index 3e57a1d..48ba37a 100644
--- a/test/tint/builtins/gen/var/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupXor/694b17.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int subgroupXor_694b17() {
-  int arg_0 = 1;
+  int arg_0 = int(1);
   int res = asint(WaveActiveBitXor(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl
index 9b3ecce..9f800c2 100644
--- a/test/tint/builtins/gen/var/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupXor/83b1f3.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int4 subgroupXor_83b1f3() {
-  int4 arg_0 = (1).xxxx;
+  int4 arg_0 = (int(1)).xxxx;
   int4 res = asint(WaveActiveBitXor(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl
index dc656ae..6662136 100644
--- a/test/tint/builtins/gen/var/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupXor/9c6e73.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 RWByteAddressBuffer prevent_dce : register(u0);
 int3 subgroupXor_9c6e73() {
-  int3 arg_0 = (1).xxx;
+  int3 arg_0 = (int(1)).xxx;
   int3 res = asint(WaveActiveBitXor(asuint(arg_0)));
   return res;
 }
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl
index f6559782..4252915 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.fxc.hlsl
@@ -142,11 +142,9 @@
 
 float4 textureSampleBaseClampToEdge_7c04e6() {
   float2 arg_2 = (1.0f).xx;
-  Texture2D<float4> v_60 = arg_0_plane0;
-  Texture2D<float4> v_61 = arg_0_plane1;
-  tint_ExternalTextureParams v_62 = v_37(0u);
-  tint_ExternalTextureParams v_63 = v_62;
-  float4 res = tint_TextureSampleExternal(v_60, v_61, v_63, arg_1, arg_2);
+  tint_ExternalTextureParams v_60 = v_37(0u);
+  tint_ExternalTextureParams v_61 = v_60;
+  float4 res = tint_TextureSampleExternal(arg_0_plane0, arg_0_plane1, v_61, arg_1, arg_2);
   return res;
 }
 
@@ -163,16 +161,16 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_7c04e6();
-  VertexOutput v_64 = tint_symbol;
-  return v_64;
+  VertexOutput v_62 = tint_symbol;
+  return v_62;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_65 = vertex_main_inner();
-  VertexOutput v_66 = v_65;
-  VertexOutput v_67 = v_65;
-  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
-  return v_68;
+  VertexOutput v_63 = vertex_main_inner();
+  VertexOutput v_64 = v_63;
+  VertexOutput v_65 = v_63;
+  vertex_main_outputs v_66 = {v_65.prevent_dce, v_64.pos};
+  return v_66;
 }
 
 FXC validation failure:
diff --git a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.fxc.hlsl
index 9810d5f..8c6ed26 100644
--- a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_06794e() {
   matrix<float16_t, 3, 3> arg_0 = matrix<float16_t, 3, 3>((float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx);
   matrix<float16_t, 3, 3> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.fxc.hlsl
index 401e3ca..1bc490d 100644
--- a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_5edd96() {
   matrix<float16_t, 4, 2> arg_0 = matrix<float16_t, 4, 2>((float16_t(1.0h)).xx, (float16_t(1.0h)).xx, (float16_t(1.0h)).xx, (float16_t(1.0h)).xx);
   matrix<float16_t, 2, 4> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl
index 9c88f8b..7d10b9a 100644
--- a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_5f36bf() {
   matrix<float16_t, 4, 3> arg_0 = matrix<float16_t, 4, 3>((float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx);
   matrix<float16_t, 3, 4> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl
index 09bab9b..9a1b8b2 100644
--- a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_7be8b2() {
   matrix<float16_t, 2, 2> arg_0 = matrix<float16_t, 2, 2>((float16_t(1.0h)).xx, (float16_t(1.0h)).xx);
   matrix<float16_t, 2, 2> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.fxc.hlsl
index 6621dfb..b040ac0 100644
--- a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_844869() {
   matrix<float16_t, 4, 4> arg_0 = matrix<float16_t, 4, 4>((float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx);
   matrix<float16_t, 4, 4> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl
index 5e85338..27747fe 100644
--- a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_8c06ce() {
   matrix<float16_t, 3, 4> arg_0 = matrix<float16_t, 3, 4>((float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx);
   matrix<float16_t, 4, 3> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl
index 0f43dd1..664ba4e 100644
--- a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_b9ad1f() {
   matrix<float16_t, 3, 2> arg_0 = matrix<float16_t, 3, 2>((float16_t(1.0h)).xx, (float16_t(1.0h)).xx, (float16_t(1.0h)).xx);
   matrix<float16_t, 2, 3> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.fxc.hlsl
index 9b1c6d5..2cf3300 100644
--- a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_d6faec() {
   matrix<float16_t, 2, 3> arg_0 = matrix<float16_t, 2, 3>((float16_t(1.0h)).xxx, (float16_t(1.0h)).xxx);
   matrix<float16_t, 3, 2> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.fxc.hlsl
index b9ed23a..d9c49b0 100644
--- a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 int transpose_faeb05() {
   matrix<float16_t, 2, 4> arg_0 = matrix<float16_t, 2, 4>((float16_t(1.0h)).xxxx, (float16_t(1.0h)).xxxx);
   matrix<float16_t, 4, 2> res = transpose(arg_0);
-  return (((res[0].x == float16_t(0.0h))) ? (1) : (0));
+  return (((res[int(0)].x == float16_t(0.0h))) ? (int(1)) : (int(0)));
 }
 
 void fragment_main() {
diff --git a/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl.expected.ir.fxc.hlsl
index d340f1b..c1e2594 100644
--- a/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/bitcast/let/32bit/i32-vec2f16.wgsl.expected.ir.fxc.hlsl
@@ -11,7 +11,7 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  int a = 1073757184;
+  int a = int(1073757184);
   vector<float16_t, 2> b = tint_bitcast_to_f16(a);
 }
 
diff --git a/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl.expected.ir.fxc.hlsl
index b4ad08c..820f91b 100644
--- a/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/bitcast/let/64bit/vec2i32-vec4f16.wgsl.expected.ir.fxc.hlsl
@@ -15,7 +15,7 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  int2 a = int2(1073757184, -1006616064);
+  int2 a = int2(int(1073757184), int(-1006616064));
   vector<float16_t, 4> b = tint_bitcast_to_f16(a);
 }
 
diff --git a/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.fxc.hlsl
index 6ffce44..a02a3e7 100644
--- a/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/scalar/function/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -8,7 +8,7 @@
 }
 
 int tint_f16_to_i32(float16_t value) {
-  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl.expected.ir.fxc.hlsl
index cdfa7d2..a9476a1 100644
--- a/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/scalar/function/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,9 +1,9 @@
 SKIP: INVALID
 
 
-static int t = 0;
+static int t = int(0);
 int m() {
-  t = 1;
+  t = int(1);
   return int(t);
 }
 
diff --git a/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.fxc.hlsl
index a16d720..7576dc5 100644
--- a/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/scalar/var/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 static float16_t u = float16_t(1.0h);
 int tint_f16_to_i32(float16_t value) {
-  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= float16_t(65504.0h))) ? ((((value >= float16_t(-65504.0h))) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl.expected.ir.fxc.hlsl
index 9a3b6e4..41a6aeb 100644
--- a/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/scalar/var/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,7 +1,7 @@
 SKIP: INVALID
 
 
-static int u = 1;
+static int u = int(1);
 void f() {
   float16_t v = float16_t(u);
 }
diff --git a/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.fxc.hlsl
index 1a653e2..69d1363 100644
--- a/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec2/function/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -8,7 +8,7 @@
 }
 
 int2 tint_v2f16_to_v2i32(vector<float16_t, 2> value) {
-  return (((value <= (float16_t(65504.0h)).xx)) ? ((((value >= (float16_t(-65504.0h)).xx)) ? (int2(value)) : ((-2147483648).xx))) : ((2147483647).xx));
+  return (((value <= (float16_t(65504.0h)).xx)) ? ((((value >= (float16_t(-65504.0h)).xx)) ? (int2(value)) : ((int(-2147483648)).xx))) : ((int(2147483647)).xx));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl.expected.ir.fxc.hlsl
index 2fecafe..f5de618 100644
--- a/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec2/function/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,9 +1,9 @@
 SKIP: INVALID
 
 
-static int t = 0;
+static int t = int(0);
 int2 m() {
-  t = 1;
+  t = int(1);
   return int2((t).xx);
 }
 
diff --git a/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.fxc.hlsl
index 59e879d..e35228c 100644
--- a/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec2/var/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 static vector<float16_t, 2> u = (float16_t(1.0h)).xx;
 int2 tint_v2f16_to_v2i32(vector<float16_t, 2> value) {
-  return (((value <= (float16_t(65504.0h)).xx)) ? ((((value >= (float16_t(-65504.0h)).xx)) ? (int2(value)) : ((-2147483648).xx))) : ((2147483647).xx));
+  return (((value <= (float16_t(65504.0h)).xx)) ? ((((value >= (float16_t(-65504.0h)).xx)) ? (int2(value)) : ((int(-2147483648)).xx))) : ((int(2147483647)).xx));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl.expected.ir.fxc.hlsl
index fa90787..faa177a 100644
--- a/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec2/var/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,7 +1,7 @@
 SKIP: INVALID
 
 
-static int2 u = (1).xx;
+static int2 u = (int(1)).xx;
 void f() {
   vector<float16_t, 2> v = vector<float16_t, 2>(u);
 }
diff --git a/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.fxc.hlsl
index 21154cb..780ced8 100644
--- a/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec3/function/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -8,7 +8,7 @@
 }
 
 int3 tint_v3f16_to_v3i32(vector<float16_t, 3> value) {
-  return (((value <= (float16_t(65504.0h)).xxx)) ? ((((value >= (float16_t(-65504.0h)).xxx)) ? (int3(value)) : ((-2147483648).xxx))) : ((2147483647).xxx));
+  return (((value <= (float16_t(65504.0h)).xxx)) ? ((((value >= (float16_t(-65504.0h)).xxx)) ? (int3(value)) : ((int(-2147483648)).xxx))) : ((int(2147483647)).xxx));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl.expected.ir.fxc.hlsl
index 9af2d97..5352001 100644
--- a/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec3/function/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,9 +1,9 @@
 SKIP: INVALID
 
 
-static int t = 0;
+static int t = int(0);
 int3 m() {
-  t = 1;
+  t = int(1);
   return int3((t).xxx);
 }
 
diff --git a/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.fxc.hlsl
index 638a7d2..8ea6746 100644
--- a/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec3/var/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 static vector<float16_t, 3> u = (float16_t(1.0h)).xxx;
 int3 tint_v3f16_to_v3i32(vector<float16_t, 3> value) {
-  return (((value <= (float16_t(65504.0h)).xxx)) ? ((((value >= (float16_t(-65504.0h)).xxx)) ? (int3(value)) : ((-2147483648).xxx))) : ((2147483647).xxx));
+  return (((value <= (float16_t(65504.0h)).xxx)) ? ((((value >= (float16_t(-65504.0h)).xxx)) ? (int3(value)) : ((int(-2147483648)).xxx))) : ((int(2147483647)).xxx));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl.expected.ir.fxc.hlsl
index 39eae2f..86f6a19 100644
--- a/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec3/var/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,7 +1,7 @@
 SKIP: INVALID
 
 
-static int3 u = (1).xxx;
+static int3 u = (int(1)).xxx;
 void f() {
   vector<float16_t, 3> v = vector<float16_t, 3>(u);
 }
diff --git a/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.fxc.hlsl
index 3996bde..6d5a7f9 100644
--- a/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec4/function/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -8,7 +8,7 @@
 }
 
 int4 tint_v4f16_to_v4i32(vector<float16_t, 4> value) {
-  return (((value <= (float16_t(65504.0h)).xxxx)) ? ((((value >= (float16_t(-65504.0h)).xxxx)) ? (int4(value)) : ((-2147483648).xxxx))) : ((2147483647).xxxx));
+  return (((value <= (float16_t(65504.0h)).xxxx)) ? ((((value >= (float16_t(-65504.0h)).xxxx)) ? (int4(value)) : ((int(-2147483648)).xxxx))) : ((int(2147483647)).xxxx));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl.expected.ir.fxc.hlsl
index b7801f7..fa38b40 100644
--- a/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec4/function/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,9 +1,9 @@
 SKIP: INVALID
 
 
-static int t = 0;
+static int t = int(0);
 int4 m() {
-  t = 1;
+  t = int(1);
   return int4((t).xxxx);
 }
 
diff --git a/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.fxc.hlsl
index 4a565a3..1815646 100644
--- a/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec4/var/f16-i32.wgsl.expected.ir.fxc.hlsl
@@ -3,7 +3,7 @@
 
 static vector<float16_t, 4> u = (float16_t(1.0h)).xxxx;
 int4 tint_v4f16_to_v4i32(vector<float16_t, 4> value) {
-  return (((value <= (float16_t(65504.0h)).xxxx)) ? ((((value >= (float16_t(-65504.0h)).xxxx)) ? (int4(value)) : ((-2147483648).xxxx))) : ((2147483647).xxxx));
+  return (((value <= (float16_t(65504.0h)).xxxx)) ? ((((value >= (float16_t(-65504.0h)).xxxx)) ? (int4(value)) : ((int(-2147483648)).xxxx))) : ((int(2147483647)).xxxx));
 }
 
 void f() {
diff --git a/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl.expected.ir.fxc.hlsl
index 10dcd09..0f327a6 100644
--- a/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/type_conv/vec4/var/i32-f16.wgsl.expected.ir.fxc.hlsl
@@ -1,7 +1,7 @@
 SKIP: INVALID
 
 
-static int4 u = (1).xxxx;
+static int4 u = (int(1)).xxxx;
 void f() {
   vector<float16_t, 4> v = vector<float16_t, 4>(u);
 }
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_and_location_in_struct.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/builtin_in_struct_and_location_in_struct.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/invariant_builtin_in_struct.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/additional_params/location_in_struct.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/zero_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.dxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.fxc.hlsl
index aa98b7a..6970257 100644
--- a/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/ptr/local.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space pixel_local
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space pixel_local
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/multiple_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/multiple_outputs/single_input.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/one_output/multiple_inputs.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/one_output/single_input.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.dxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.fxc.hlsl
index a120576..abf3b8a 100644
--- a/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: INVALID
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1522 internal compiler error: HLSL does not support @color attribute
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:1526 internal compiler error: HLSL does not support @color attribute
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/shadowing/loop.wgsl.expected.ir.fxc.hlsl b/test/tint/shadowing/loop.wgsl.expected.ir.fxc.hlsl
index 861005a..f6cff2a 100644
--- a/test/tint/shadowing/loop.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/shadowing/loop.wgsl.expected.ir.fxc.hlsl
@@ -4,14 +4,14 @@
 RWByteAddressBuffer output : register(u0);
 [numthreads(1, 1, 1)]
 void foo() {
-  int i = 0;
+  int i = int(0);
   {
     while(true) {
       int x = asint(output.Load((0u + (uint(i) * 4u))));
       {
         int x = asint(output.Load((0u + (uint(x) * 4u))));
         i = (i + x);
-        if ((i > 10)) { break; }
+        if ((i > int(10))) { break; }
       }
       continue;
     }
diff --git a/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl.expected.ir.fxc.hlsl
index 2cf2c8a..f2e26b1 100644
--- a/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_locations_f16.wgsl.expected.ir.fxc.hlsl
@@ -26,7 +26,7 @@
 
 
 int main0_inner() {
-  return 1;
+  return int(1);
 }
 
 uint main1_inner() {
diff --git a/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl
index 37a5808..8144b39 100644
--- a/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl
@@ -20,7 +20,7 @@
 
 
 FragmentOutputs main_inner() {
-  FragmentOutputs v = {1, 1u, 1.0f, float4(1.0f, 2.0f, 3.0f, 4.0f), float16_t(2.25h), vector<float16_t, 3>(float16_t(3.0h), float16_t(5.0h), float16_t(8.0h))};
+  FragmentOutputs v = {int(1), 1u, 1.0f, float4(1.0f, 2.0f, 3.0f, 4.0f), float16_t(2.25h), vector<float16_t, 3>(float16_t(3.0h), float16_t(5.0h), float16_t(8.0h))};
   return v;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.fxc.hlsl
index 69bfc7f..b968207 100644
--- a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.fxc.hlsl
@@ -24,7 +24,7 @@
 
 
 FragmentOutputs main_inner() {
-  FragmentOutputs v = {1, 2.0f, 1u, 1.0f, 2u, float4(1.0f, 2.0f, 3.0f, 4.0f), float16_t(2.25h), vector<float16_t, 3>(float16_t(3.0h), float16_t(5.0h), float16_t(8.0h))};
+  FragmentOutputs v = {int(1), 2.0f, 1u, 1.0f, 2u, float4(1.0f, 2.0f, 3.0f, 4.0f), float16_t(2.25h), vector<float16_t, 3>(float16_t(3.0h), float16_t(5.0h), float16_t(8.0h))};
   return v;
 }
 
diff --git a/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl
index 7d22f12..55fb7fa 100644
--- a/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.fxc.hlsl
@@ -22,7 +22,7 @@
 
 
 VertexOutputs main_inner() {
-  VertexOutputs v = {1, 1u, 1.0f, float4(1.0f, 2.0f, 3.0f, 4.0f), (0.0f).xxxx, float16_t(2.25h), vector<float16_t, 3>(float16_t(3.0h), float16_t(5.0h), float16_t(8.0h))};
+  VertexOutputs v = {int(1), 1u, 1.0f, float4(1.0f, 2.0f, 3.0f, 4.0f), (0.0f).xxxx, float16_t(2.25h), vector<float16_t, 3>(float16_t(3.0h), float16_t(5.0h), float16_t(8.0h))};
   return v;
 }
 
diff --git a/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.dxc.hlsl
index d69ffc1..bbde24f 100644
--- a/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.dxc.hlsl
@@ -9,10 +9,10 @@
   float2 vf21 = float2(2.0f, 1.0f);
   float3 vf123 = float3(1.0f, 2.0f, 3.0f);
   float4 vf1234 = float4(1.0f, 2.0f, 3.0f, 4.0f);
-  int i1 = 1;
-  int2 vi12 = int2(1, 2);
-  int3 vi123 = int3(1, 2, 3);
-  int4 vi1234 = int4(1, 2, 3, 4);
+  int i1 = int(1);
+  int2 vi12 = int2(int(1), int(2));
+  int3 vi123 = int3(int(1), int(2), int(3));
+  int4 vi1234 = int4(int(1), int(2), int(3), int(4));
   uint u1 = 1u;
   uint2 vu12 = uint2(1u, 2u);
   uint3 vu123 = uint3(1u, 2u, 3u);
@@ -21,9 +21,7 @@
   float2 coords12 = vf12;
   float3 coords123 = vf123;
   float4 coords1234 = vf1234;
-  Texture2D v = x_20;
-  SamplerState v_1 = x_10;
-  float4 x_79 = float4(v.SampleLevel(v_1, vf12, float(1)), 0.0f, 0.0f, 0.0f);
+  float4 x_79 = float4(x_20.SampleLevel(x_10, vf12, float(int(1))), 0.0f, 0.0f, 0.0f);
 }
 
 void main() {
@@ -31,8 +29,8 @@
 }
 
 DXC validation failure:
-hlsl.hlsl:24:24: error: too many elements in vector initialization (expected 4 elements, have 7)
-  float4 x_79 = float4(v.SampleLevel(v_1, vf12, float(1)), 0.0f, 0.0f, 0.0f);
+hlsl.hlsl:22:24: error: too many elements in vector initialization (expected 4 elements, have 7)
+  float4 x_79 = float4(x_20.SampleLevel(x_10, vf12, float(int(1))), 0.0f, 0.0f, 0.0f);
                        ^
 
 
diff --git a/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.fxc.hlsl
index 1c73f182..50f9202 100644
--- a/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/ImageSampleExplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.fxc.hlsl
@@ -9,10 +9,10 @@
   float2 vf21 = float2(2.0f, 1.0f);
   float3 vf123 = float3(1.0f, 2.0f, 3.0f);
   float4 vf1234 = float4(1.0f, 2.0f, 3.0f, 4.0f);
-  int i1 = 1;
-  int2 vi12 = int2(1, 2);
-  int3 vi123 = int3(1, 2, 3);
-  int4 vi1234 = int4(1, 2, 3, 4);
+  int i1 = int(1);
+  int2 vi12 = int2(int(1), int(2));
+  int3 vi123 = int3(int(1), int(2), int(3));
+  int4 vi1234 = int4(int(1), int(2), int(3), int(4));
   uint u1 = 1u;
   uint2 vu12 = uint2(1u, 2u);
   uint3 vu123 = uint3(1u, 2u, 3u);
@@ -21,9 +21,7 @@
   float2 coords12 = vf12;
   float3 coords123 = vf123;
   float4 coords1234 = vf1234;
-  Texture2D v = x_20;
-  SamplerState v_1 = x_10;
-  float4 x_79 = float4(v.SampleLevel(v_1, vf12, float(1)), 0.0f, 0.0f, 0.0f);
+  float4 x_79 = float4(x_20.SampleLevel(x_10, vf12, float(int(1))), 0.0f, 0.0f, 0.0f);
 }
 
 void main() {
@@ -31,7 +29,7 @@
 }
 
 FXC validation failure:
-<scrubbed_path>(24,17-76): error X3014: incorrect number of arguments to numeric-type constructor
+<scrubbed_path>(22,17-85): error X3014: incorrect number of arguments to numeric-type constructor
 
 
 tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl
index 0efc081..c58548a 100644
--- a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl
@@ -10,10 +10,10 @@
   float2 vf21 = float2(2.0f, 1.0f);
   float3 vf123 = float3(1.0f, 2.0f, 3.0f);
   float4 vf1234 = float4(1.0f, 2.0f, 3.0f, 4.0f);
-  int i1 = 1;
-  int2 vi12 = int2(1, 2);
-  int3 vi123 = int3(1, 2, 3);
-  int4 vi1234 = int4(1, 2, 3, 4);
+  int i1 = int(1);
+  int2 vi12 = int2(int(1), int(2));
+  int3 vi123 = int3(int(1), int(2), int(3));
+  int4 vi1234 = int4(int(1), int(2), int(3), int(4));
   uint u1 = 1u;
   uint2 vu12 = uint2(1u, 2u);
   uint3 vu123 = uint3(1u, 2u, 3u);
diff --git a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl
index 89d9b3e..aa16a2c 100644
--- a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_BothDrefAndNonDref_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl
@@ -10,10 +10,10 @@
   float2 vf21 = float2(2.0f, 1.0f);
   float3 vf123 = float3(1.0f, 2.0f, 3.0f);
   float4 vf1234 = float4(1.0f, 2.0f, 3.0f, 4.0f);
-  int i1 = 1;
-  int2 vi12 = int2(1, 2);
-  int3 vi123 = int3(1, 2, 3);
-  int4 vi1234 = int4(1, 2, 3, 4);
+  int i1 = int(1);
+  int2 vi12 = int2(int(1), int(2));
+  int3 vi123 = int3(int(1), int(2), int(3));
+  int4 vi1234 = int4(int(1), int(2), int(3), int(4));
   uint u1 = 1u;
   uint2 vu12 = uint2(1u, 2u);
   uint3 vu123 = uint3(1u, 2u, 3u);
diff --git a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl
index e3da732..0222fc8 100644
--- a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.dxc.hlsl
@@ -10,10 +10,10 @@
   float2 vf21 = float2(2.0f, 1.0f);
   float3 vf123 = float3(1.0f, 2.0f, 3.0f);
   float4 vf1234 = float4(1.0f, 2.0f, 3.0f, 4.0f);
-  int i1 = 1;
-  int2 vi12 = int2(1, 2);
-  int3 vi123 = int3(1, 2, 3);
-  int4 vi1234 = int4(1, 2, 3, 4);
+  int i1 = int(1);
+  int2 vi12 = int2(int(1), int(2));
+  int3 vi123 = int3(int(1), int(2), int(3));
+  int4 vi1234 = int4(int(1), int(2), int(3), int(4));
   uint u1 = 1u;
   uint2 vu12 = uint2(1u, 2u);
   uint3 vu123 = uint3(1u, 2u, 3u);
diff --git a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl
index 8f9406f..66019cd 100644
--- a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.fxc.hlsl
@@ -10,10 +10,10 @@
   float2 vf21 = float2(2.0f, 1.0f);
   float3 vf123 = float3(1.0f, 2.0f, 3.0f);
   float4 vf1234 = float4(1.0f, 2.0f, 3.0f, 4.0f);
-  int i1 = 1;
-  int2 vi12 = int2(1, 2);
-  int3 vi123 = int3(1, 2, 3);
-  int4 vi1234 = int4(1, 2, 3, 4);
+  int i1 = int(1);
+  int2 vi12 = int2(int(1), int(2));
+  int3 vi123 = int3(int(1), int(2), int(3));
+  int4 vi1234 = int4(int(1), int(2), int(3), int(4));
   uint u1 = 1u;
   uint2 vu12 = uint2(1u, 2u);
   uint3 vu123 = uint3(1u, 2u, 3u);
diff --git a/test/tint/var/uses/push_constant.wgsl.expected.ir.dxc.hlsl b/test/tint/var/uses/push_constant.wgsl.expected.ir.dxc.hlsl
index f3cf20d..4fba1bd 100644
--- a/test/tint/var/uses/push_constant.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/var/uses/push_constant.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space push_constant
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space push_constant
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/var/uses/push_constant.wgsl.expected.ir.fxc.hlsl b/test/tint/var/uses/push_constant.wgsl.expected.ir.fxc.hlsl
index f3cf20d..4fba1bd 100644
--- a/test/tint/var/uses/push_constant.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/var/uses/push_constant.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space push_constant
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space push_constant
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.dxc.hlsl b/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.dxc.hlsl
index f3cf20d..4fba1bd 100644
--- a/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.dxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space push_constant
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space push_constant
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.fxc.hlsl b/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.fxc.hlsl
index f3cf20d..4fba1bd 100644
--- a/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.fxc.hlsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-..\..\src\tint\lang\hlsl\writer\printer\printer.cc:524 internal compiler error: unhandled address space push_constant
+..\..\src\tint\lang\hlsl\writer\printer\printer.cc:522 internal compiler error: unhandled address space push_constant
 ********************************************************************
 *  The tint shader compiler has encountered an unexpected error.   *
 *                                                                  *
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.ir.fxc.hlsl
index 71b32c0..7b77fb7 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.spvasm.expected.ir.fxc.hlsl
@@ -22,14 +22,14 @@
 static float4 gl_FragCoord = (0.0f).xxxx;
 static float4 x_GLF_color = (0.0f).xxxx;
 int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 void main_1() {
   float4 data[2] = (float4[2])0;
-  int b = 0;
-  int y = 0;
-  int i = 0;
+  int b = int(0);
+  int y = int(0);
+  int i = int(0);
   float4 v = float4((asfloat(x_7[0u].x)).xxxx);
   float4 v_1[2] = {v, float4((asfloat(x_7[0u].x)).xxxx)};
   data = v_1;
@@ -60,9 +60,9 @@
       if (x_83) {
         break;
       }
-      b = (b + 1);
+      b = (b + int(1));
       {
-        i = (i + 1);
+        i = (i + int(1));
       }
       continue;
     }
@@ -72,27 +72,28 @@
     int x_97 = asint(x_10[2u].x);
     int x_99 = asint(x_10[1u].x);
     int x_101 = asint(x_10[3u].x);
-    float4 v_10 = data[min(max(x_97, x_99), x_101)];
+    int v_10 = min(max(x_97, x_99), x_101);
     float v_11 = float(asint(x_10[1u].x));
     float v_12 = float(asint(x_10[2u].x));
     float v_13 = float(asint(x_10[2u].x));
-    v_10 = float4(v_11, v_12, v_13, float(asint(x_10[1u].x)));
+    data[v_10] = float4(v_11, v_12, v_13, float(asint(x_10[1u].x)));
   }
-  float4 x_120 = data[asint(x_10[1u].x)];
+  int v_14 = asint(x_10[1u].x);
+  float4 x_120 = data[v_14];
   x_GLF_color = float4(x_120[0u], x_120[1u], x_120[2u], x_120[3u]);
 }
 
 main_out main_inner(float4 gl_FragCoord_param) {
   gl_FragCoord = gl_FragCoord_param;
   main_1();
-  main_out v_14 = {x_GLF_color};
-  return v_14;
+  main_out v_15 = {x_GLF_color};
+  return v_15;
 }
 
 main_outputs main(main_inputs inputs) {
-  main_out v_15 = main_inner(float4(inputs.gl_FragCoord_param.xyz, (1.0f / inputs.gl_FragCoord_param[3u])));
-  main_outputs v_16 = {v_15.x_GLF_color_1};
-  return v_16;
+  main_out v_16 = main_inner(float4(inputs.gl_FragCoord_param.xyz, (1.0f / inputs.gl_FragCoord_param[3u])));
+  main_outputs v_17 = {v_16.x_GLF_color_1};
+  return v_17;
 }
 
 
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.wgsl.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.wgsl.expected.ir.fxc.hlsl
index 8c66c5a..106150d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-fragcoord-clamp-array-access/0-opt.wgsl.expected.ir.fxc.hlsl
@@ -22,14 +22,14 @@
 static float4 gl_FragCoord = (0.0f).xxxx;
 static float4 x_GLF_color = (0.0f).xxxx;
 int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (-2147483648))) : (2147483647));
+  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : (int(-2147483648)))) : (int(2147483647)));
 }
 
 void main_1() {
   float4 data[2] = (float4[2])0;
-  int b = 0;
-  int y = 0;
-  int i = 0;
+  int b = int(0);
+  int y = int(0);
+  int i = int(0);
   float x_42 = asfloat(x_7[0u].x);
   float x_45 = asfloat(x_7[0u].x);
   float4 v = float4(x_42, x_42, x_42, x_42);
@@ -70,10 +70,10 @@
         break;
       }
       int x_86 = b;
-      b = (x_86 + 1);
+      b = (x_86 + int(1));
       {
         int x_88 = i;
-        i = (x_88 + 1);
+        i = (x_88 + int(1));
       }
       continue;
     }
@@ -88,11 +88,11 @@
     int x_107 = asint(x_10[2u].x);
     int x_110 = asint(x_10[2u].x);
     int x_113 = asint(x_10[1u].x);
-    float4 v_3 = data[min(max(x_97, x_99), x_101)];
+    int v_3 = min(max(x_97, x_99), x_101);
     float v_4 = float(x_104);
     float v_5 = float(x_107);
     float v_6 = float(x_110);
-    v_3 = float4(v_4, v_5, v_6, float(x_113));
+    data[v_3] = float4(v_4, v_5, v_6, float(x_113));
   }
   int x_118 = asint(x_10[1u].x);
   float4 x_120 = data[x_118];
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.ir.fxc.hlsl
index ded5c0b..7371b80 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.spvasm.expected.ir.fxc.hlsl
@@ -9,7 +9,7 @@
 };
 
 
-static int x_GLF_global_loop_count = 0;
+static int x_GLF_global_loop_count = int(0);
 cbuffer cbuffer_x_7 : register(b0) {
   uint4 x_7[3];
 };
@@ -19,24 +19,24 @@
 static float4 x_GLF_color = (0.0f).xxxx;
 void main_1() {
   float f = 0.0f;
-  int i = 0;
-  int i_1 = 0;
-  int i_2 = 0;
-  int i_3 = 0;
-  int i_4 = 0;
-  int i_5 = 0;
-  int i_6 = 0;
-  int i_7 = 0;
-  int i_8 = 0;
-  int i_9 = 0;
-  int i_10 = 0;
-  int i_11 = 0;
-  int i_12 = 0;
-  int i_13 = 0;
-  int i_14 = 0;
+  int i = int(0);
+  int i_1 = int(0);
+  int i_2 = int(0);
+  int i_3 = int(0);
+  int i_4 = int(0);
+  int i_5 = int(0);
+  int i_6 = int(0);
+  int i_7 = int(0);
+  int i_8 = int(0);
+  int i_9 = int(0);
+  int i_10 = int(0);
+  int i_11 = int(0);
+  int i_12 = int(0);
+  int i_13 = int(0);
+  int i_14 = int(0);
   float sum = 0.0f;
-  int r = 0;
-  x_GLF_global_loop_count = 0;
+  int r = int(0);
+  x_GLF_global_loop_count = int(0);
   f = asfloat(x_7[1u].x);
   i = asint(x_10[1u].x);
   {
@@ -160,11 +160,11 @@
                                                               }
                                                               {
                                                                 while(true) {
-                                                                  x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
+                                                                  x_GLF_global_loop_count = (x_GLF_global_loop_count + int(1));
                                                                   {
                                                                     int x_225 = x_GLF_global_loop_count;
                                                                     int x_227 = asint(x_10[3u].x);
-                                                                    if (!((x_225 < (100 - x_227)))) { break; }
+                                                                    if (!((x_225 < (int(100) - x_227)))) { break; }
                                                                   }
                                                                   continue;
                                                                 }
@@ -172,91 +172,91 @@
                                                               float v_15 = f;
                                                               f = (v_15 + asfloat(x_7[0u].x));
                                                               {
-                                                                i_14 = (i_14 + 1);
+                                                                i_14 = (i_14 + int(1));
                                                               }
                                                               continue;
                                                             }
                                                           }
                                                           {
-                                                            i_13 = (i_13 + 1);
+                                                            i_13 = (i_13 + int(1));
                                                           }
                                                           continue;
                                                         }
                                                       }
                                                       {
-                                                        i_12 = (i_12 + 1);
+                                                        i_12 = (i_12 + int(1));
                                                       }
                                                       continue;
                                                     }
                                                   }
                                                   {
-                                                    i_11 = (i_11 + 1);
+                                                    i_11 = (i_11 + int(1));
                                                   }
                                                   continue;
                                                 }
                                               }
                                               {
-                                                i_10 = (i_10 + 1);
+                                                i_10 = (i_10 + int(1));
                                               }
                                               continue;
                                             }
                                           }
                                           {
-                                            i_9 = (i_9 + 1);
+                                            i_9 = (i_9 + int(1));
                                           }
                                           continue;
                                         }
                                       }
                                       {
-                                        i_8 = (i_8 + 1);
+                                        i_8 = (i_8 + int(1));
                                       }
                                       continue;
                                     }
                                   }
                                   {
-                                    i_7 = (i_7 + 1);
+                                    i_7 = (i_7 + int(1));
                                   }
                                   continue;
                                 }
                               }
                               {
-                                i_6 = (i_6 + 1);
+                                i_6 = (i_6 + int(1));
                               }
                               continue;
                             }
                           }
                           {
-                            i_5 = (i_5 + 1);
+                            i_5 = (i_5 + int(1));
                           }
                           continue;
                         }
                       }
                       {
-                        i_4 = (i_4 + 1);
+                        i_4 = (i_4 + int(1));
                       }
                       continue;
                     }
                   }
                   {
-                    i_3 = (i_3 + 1);
+                    i_3 = (i_3 + int(1));
                   }
                   continue;
                 }
               }
               {
-                i_2 = (i_2 + 1);
+                i_2 = (i_2 + int(1));
               }
               continue;
             }
           }
           {
-            i_1 = (i_1 + 1);
+            i_1 = (i_1 + int(1));
           }
           continue;
         }
       }
       {
-        i = (i + 1);
+        i = (i + int(1));
       }
       continue;
     }
@@ -265,14 +265,14 @@
   r = asint(x_10[1u].x);
   {
     while(true) {
-      if ((x_GLF_global_loop_count < 100)) {
+      if ((x_GLF_global_loop_count < int(100))) {
       } else {
         break;
       }
-      x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
+      x_GLF_global_loop_count = (x_GLF_global_loop_count + int(1));
       sum = (sum + f);
       {
-        r = (r + 1);
+        r = (r + int(1));
       }
       continue;
     }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl.expected.ir.fxc.hlsl
index a16f576..26cee9e 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-nested-loops-global-loop-counter-do-while-accumulate-float/0-opt.wgsl.expected.ir.fxc.hlsl
@@ -1,310 +1,364 @@
 SKIP: FAILED
 
-static int x_GLF_global_loop_count = 0;
+struct main_out {
+  float4 x_GLF_color_1;
+};
+
+struct main_outputs {
+  float4 main_out_x_GLF_color_1 : SV_Target0;
+};
+
+
+static int x_GLF_global_loop_count = int(0);
 cbuffer cbuffer_x_7 : register(b0) {
   uint4 x_7[3];
 };
 cbuffer cbuffer_x_10 : register(b1) {
   uint4 x_10[4];
 };
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
+static float4 x_GLF_color = (0.0f).xxxx;
 void main_1() {
   float f = 0.0f;
-  int i = 0;
-  int i_1 = 0;
-  int i_2 = 0;
-  int i_3 = 0;
-  int i_4 = 0;
-  int i_5 = 0;
-  int i_6 = 0;
-  int i_7 = 0;
-  int i_8 = 0;
-  int i_9 = 0;
-  int i_10 = 0;
-  int i_11 = 0;
-  int i_12 = 0;
-  int i_13 = 0;
-  int i_14 = 0;
+  int i = int(0);
+  int i_1 = int(0);
+  int i_2 = int(0);
+  int i_3 = int(0);
+  int i_4 = int(0);
+  int i_5 = int(0);
+  int i_6 = int(0);
+  int i_7 = int(0);
+  int i_8 = int(0);
+  int i_9 = int(0);
+  int i_10 = int(0);
+  int i_11 = int(0);
+  int i_12 = int(0);
+  int i_13 = int(0);
+  int i_14 = int(0);
   float sum = 0.0f;
-  int r = 0;
-  x_GLF_global_loop_count = 0;
-  float x_53 = asfloat(x_7[1].x);
+  int r = int(0);
+  x_GLF_global_loop_count = int(0);
+  float x_53 = asfloat(x_7[1u].x);
   f = x_53;
-  int x_55 = asint(x_10[1].x);
+  int x_55 = asint(x_10[1u].x);
   i = x_55;
-  while (true) {
-    int x_60 = i;
-    int x_62 = asint(x_10[0].x);
-    if ((x_60 < x_62)) {
-    } else {
-      break;
-    }
-    int x_66 = asint(x_10[1].x);
-    i_1 = x_66;
-    while (true) {
-      int x_71 = i_1;
-      int x_73 = asint(x_10[0].x);
-      if ((x_71 < x_73)) {
+  {
+    while(true) {
+      int x_60 = i;
+      int x_62 = asint(x_10[0u].x);
+      if ((x_60 < x_62)) {
       } else {
         break;
       }
-      int x_77 = asint(x_10[1].x);
-      i_2 = x_77;
-      while (true) {
-        int x_82 = i_2;
-        int x_84 = asint(x_10[0].x);
-        if ((x_82 < x_84)) {
-        } else {
-          break;
-        }
-        int x_88 = asint(x_10[1].x);
-        i_3 = x_88;
-        while (true) {
-          int x_93 = i_3;
-          int x_95 = asint(x_10[0].x);
-          if ((x_93 < x_95)) {
+      int x_66 = asint(x_10[1u].x);
+      i_1 = x_66;
+      {
+        while(true) {
+          int x_71 = i_1;
+          int x_73 = asint(x_10[0u].x);
+          if ((x_71 < x_73)) {
           } else {
             break;
           }
-          int x_99 = asint(x_10[1].x);
-          i_4 = x_99;
-          while (true) {
-            int x_104 = i_4;
-            int x_106 = asint(x_10[0].x);
-            if ((x_104 < x_106)) {
-            } else {
-              break;
-            }
-            int x_110 = asint(x_10[1].x);
-            i_5 = x_110;
-            while (true) {
-              int x_115 = i_5;
-              int x_117 = asint(x_10[0].x);
-              if ((x_115 < x_117)) {
+          int x_77 = asint(x_10[1u].x);
+          i_2 = x_77;
+          {
+            while(true) {
+              int x_82 = i_2;
+              int x_84 = asint(x_10[0u].x);
+              if ((x_82 < x_84)) {
               } else {
                 break;
               }
-              int x_121 = asint(x_10[1].x);
-              i_6 = x_121;
-              while (true) {
-                int x_126 = i_6;
-                int x_128 = asint(x_10[0].x);
-                if ((x_126 < x_128)) {
-                } else {
-                  break;
-                }
-                int x_132 = asint(x_10[1].x);
-                i_7 = x_132;
-                while (true) {
-                  int x_137 = i_7;
-                  int x_139 = asint(x_10[0].x);
-                  if ((x_137 < x_139)) {
+              int x_88 = asint(x_10[1u].x);
+              i_3 = x_88;
+              {
+                while(true) {
+                  int x_93 = i_3;
+                  int x_95 = asint(x_10[0u].x);
+                  if ((x_93 < x_95)) {
                   } else {
                     break;
                   }
-                  int x_143 = asint(x_10[1].x);
-                  i_8 = x_143;
-                  while (true) {
-                    int x_148 = i_8;
-                    int x_150 = asint(x_10[0].x);
-                    if ((x_148 < x_150)) {
-                    } else {
-                      break;
-                    }
-                    int x_154 = asint(x_10[1].x);
-                    i_9 = x_154;
-                    while (true) {
-                      int x_159 = i_9;
-                      int x_161 = asint(x_10[0].x);
-                      if ((x_159 < x_161)) {
+                  int x_99 = asint(x_10[1u].x);
+                  i_4 = x_99;
+                  {
+                    while(true) {
+                      int x_104 = i_4;
+                      int x_106 = asint(x_10[0u].x);
+                      if ((x_104 < x_106)) {
                       } else {
                         break;
                       }
-                      int x_165 = asint(x_10[1].x);
-                      i_10 = x_165;
-                      while (true) {
-                        int x_170 = i_10;
-                        int x_172 = asint(x_10[0].x);
-                        if ((x_170 < x_172)) {
-                        } else {
-                          break;
-                        }
-                        int x_176 = asint(x_10[1].x);
-                        i_11 = x_176;
-                        while (true) {
-                          int x_181 = i_11;
-                          int x_183 = asint(x_10[2].x);
-                          if ((x_181 < x_183)) {
+                      int x_110 = asint(x_10[1u].x);
+                      i_5 = x_110;
+                      {
+                        while(true) {
+                          int x_115 = i_5;
+                          int x_117 = asint(x_10[0u].x);
+                          if ((x_115 < x_117)) {
                           } else {
                             break;
                           }
-                          int x_187 = asint(x_10[1].x);
-                          i_12 = x_187;
-                          while (true) {
-                            int x_192 = i_12;
-                            int x_194 = asint(x_10[0].x);
-                            if ((x_192 < x_194)) {
-                            } else {
-                              break;
-                            }
-                            int x_198 = asint(x_10[1].x);
-                            i_13 = x_198;
-                            while (true) {
-                              int x_203 = i_13;
-                              int x_205 = asint(x_10[0].x);
-                              if ((x_203 < x_205)) {
+                          int x_121 = asint(x_10[1u].x);
+                          i_6 = x_121;
+                          {
+                            while(true) {
+                              int x_126 = i_6;
+                              int x_128 = asint(x_10[0u].x);
+                              if ((x_126 < x_128)) {
                               } else {
                                 break;
                               }
-                              int x_209 = asint(x_10[1].x);
-                              i_14 = x_209;
-                              while (true) {
-                                int x_214 = i_14;
-                                int x_216 = asint(x_10[2].x);
-                                if ((x_214 < x_216)) {
-                                } else {
-                                  break;
-                                }
-                                while (true) {
-                                  int x_223 = x_GLF_global_loop_count;
-                                  x_GLF_global_loop_count = (x_223 + 1);
-                                  {
-                                    int x_225 = x_GLF_global_loop_count;
-                                    int x_227 = asint(x_10[3].x);
-                                    if (!((x_225 < (100 - x_227)))) { break; }
+                              int x_132 = asint(x_10[1u].x);
+                              i_7 = x_132;
+                              {
+                                while(true) {
+                                  int x_137 = i_7;
+                                  int x_139 = asint(x_10[0u].x);
+                                  if ((x_137 < x_139)) {
+                                  } else {
+                                    break;
                                   }
-                                }
-                                float x_231 = asfloat(x_7[0].x);
-                                float x_232 = f;
-                                f = (x_232 + x_231);
-                                {
-                                  int x_234 = i_14;
-                                  i_14 = (x_234 + 1);
+                                  int x_143 = asint(x_10[1u].x);
+                                  i_8 = x_143;
+                                  {
+                                    while(true) {
+                                      int x_148 = i_8;
+                                      int x_150 = asint(x_10[0u].x);
+                                      if ((x_148 < x_150)) {
+                                      } else {
+                                        break;
+                                      }
+                                      int x_154 = asint(x_10[1u].x);
+                                      i_9 = x_154;
+                                      {
+                                        while(true) {
+                                          int x_159 = i_9;
+                                          int x_161 = asint(x_10[0u].x);
+                                          if ((x_159 < x_161)) {
+                                          } else {
+                                            break;
+                                          }
+                                          int x_165 = asint(x_10[1u].x);
+                                          i_10 = x_165;
+                                          {
+                                            while(true) {
+                                              int x_170 = i_10;
+                                              int x_172 = asint(x_10[0u].x);
+                                              if ((x_170 < x_172)) {
+                                              } else {
+                                                break;
+                                              }
+                                              int x_176 = asint(x_10[1u].x);
+                                              i_11 = x_176;
+                                              {
+                                                while(true) {
+                                                  int x_181 = i_11;
+                                                  int x_183 = asint(x_10[2u].x);
+                                                  if ((x_181 < x_183)) {
+                                                  } else {
+                                                    break;
+                                                  }
+                                                  int x_187 = asint(x_10[1u].x);
+                                                  i_12 = x_187;
+                                                  {
+                                                    while(true) {
+                                                      int x_192 = i_12;
+                                                      int x_194 = asint(x_10[0u].x);
+                                                      if ((x_192 < x_194)) {
+                                                      } else {
+                                                        break;
+                                                      }
+                                                      int x_198 = asint(x_10[1u].x);
+                                                      i_13 = x_198;
+                                                      {
+                                                        while(true) {
+                                                          int x_203 = i_13;
+                                                          int x_205 = asint(x_10[0u].x);
+                                                          if ((x_203 < x_205)) {
+                                                          } else {
+                                                            break;
+                                                          }
+                                                          int x_209 = asint(x_10[1u].x);
+                                                          i_14 = x_209;
+                                                          {
+                                                            while(true) {
+                                                              int x_214 = i_14;
+                                                              int x_216 = asint(x_10[2u].x);
+                                                              if ((x_214 < x_216)) {
+                                                              } else {
+                                                                break;
+                                                              }
+                                                              {
+                                                                while(true) {
+                                                                  int x_223 = x_GLF_global_loop_count;
+                                                                  x_GLF_global_loop_count = (x_223 + int(1));
+                                                                  {
+                                                                    int x_225 = x_GLF_global_loop_count;
+                                                                    int x_227 = asint(x_10[3u].x);
+                                                                    if (!((x_225 < (int(100) - x_227)))) { break; }
+                                                                  }
+                                                                  continue;
+                                                                }
+                                                              }
+                                                              float x_231 = asfloat(x_7[0u].x);
+                                                              float x_232 = f;
+                                                              f = (x_232 + x_231);
+                                                              {
+                                                                int x_234 = i_14;
+                                                                i_14 = (x_234 + int(1));
+                                                              }
+                                                              continue;
+                                                            }
+                                                          }
+                                                          {
+                                                            int x_236 = i_13;
+                                                            i_13 = (x_236 + int(1));
+                                                          }
+                                                          continue;
+                                                        }
+                                                      }
+                                                      {
+                                                        int x_238 = i_12;
+                                                        i_12 = (x_238 + int(1));
+                                                      }
+                                                      continue;
+                                                    }
+                                                  }
+                                                  {
+                                                    int x_240 = i_11;
+                                                    i_11 = (x_240 + int(1));
+                                                  }
+                                                  continue;
+                                                }
+                                              }
+                                              {
+                                                int x_242 = i_10;
+                                                i_10 = (x_242 + int(1));
+                                              }
+                                              continue;
+                                            }
+                                          }
+                                          {
+                                            int x_244 = i_9;
+                                            i_9 = (x_244 + int(1));
+                                          }
+                                          continue;
+                                        }
+                                      }
+                                      {
+                                        int x_246 = i_8;
+                                        i_8 = (x_246 + int(1));
+                                      }
+                                      continue;
+                                    }
+                                  }
+                                  {
+                                    int x_248 = i_7;
+                                    i_7 = (x_248 + int(1));
+                                  }
+                                  continue;
                                 }
                               }
                               {
-                                int x_236 = i_13;
-                                i_13 = (x_236 + 1);
+                                int x_250 = i_6;
+                                i_6 = (x_250 + int(1));
                               }
-                            }
-                            {
-                              int x_238 = i_12;
-                              i_12 = (x_238 + 1);
+                              continue;
                             }
                           }
                           {
-                            int x_240 = i_11;
-                            i_11 = (x_240 + 1);
+                            int x_252 = i_5;
+                            i_5 = (x_252 + int(1));
                           }
-                        }
-                        {
-                          int x_242 = i_10;
-                          i_10 = (x_242 + 1);
+                          continue;
                         }
                       }
                       {
-                        int x_244 = i_9;
-                        i_9 = (x_244 + 1);
+                        int x_254 = i_4;
+                        i_4 = (x_254 + int(1));
                       }
-                    }
-                    {
-                      int x_246 = i_8;
-                      i_8 = (x_246 + 1);
+                      continue;
                     }
                   }
                   {
-                    int x_248 = i_7;
-                    i_7 = (x_248 + 1);
+                    int x_256 = i_3;
+                    i_3 = (x_256 + int(1));
                   }
-                }
-                {
-                  int x_250 = i_6;
-                  i_6 = (x_250 + 1);
+                  continue;
                 }
               }
               {
-                int x_252 = i_5;
-                i_5 = (x_252 + 1);
+                int x_258 = i_2;
+                i_2 = (x_258 + int(1));
               }
-            }
-            {
-              int x_254 = i_4;
-              i_4 = (x_254 + 1);
+              continue;
             }
           }
           {
-            int x_256 = i_3;
-            i_3 = (x_256 + 1);
+            int x_260 = i_1;
+            i_1 = (x_260 + int(1));
           }
-        }
-        {
-          int x_258 = i_2;
-          i_2 = (x_258 + 1);
+          continue;
         }
       }
       {
-        int x_260 = i_1;
-        i_1 = (x_260 + 1);
+        int x_262 = i;
+        i = (x_262 + int(1));
       }
-    }
-    {
-      int x_262 = i;
-      i = (x_262 + 1);
+      continue;
     }
   }
-  float x_265 = asfloat(x_7[1].x);
+  float x_265 = asfloat(x_7[1u].x);
   sum = x_265;
-  int x_267 = asint(x_10[1].x);
+  int x_267 = asint(x_10[1u].x);
   r = x_267;
-  while (true) {
-    int x_272 = x_GLF_global_loop_count;
-    if ((x_272 < 100)) {
-    } else {
-      break;
-    }
-    int x_275 = x_GLF_global_loop_count;
-    x_GLF_global_loop_count = (x_275 + 1);
-    float x_277 = f;
-    float x_278 = sum;
-    sum = (x_278 + x_277);
-    {
-      int x_280 = r;
-      r = (x_280 + 1);
+  {
+    while(true) {
+      int x_272 = x_GLF_global_loop_count;
+      if ((x_272 < int(100))) {
+      } else {
+        break;
+      }
+      int x_275 = x_GLF_global_loop_count;
+      x_GLF_global_loop_count = (x_275 + int(1));
+      float x_277 = f;
+      float x_278 = sum;
+      sum = (x_278 + x_277);
+      {
+        int x_280 = r;
+        r = (x_280 + int(1));
+      }
+      continue;
     }
   }
   float x_282 = sum;
-  float x_284 = asfloat(x_7[2].x);
+  float x_284 = asfloat(x_7[2u].x);
   if ((x_282 == x_284)) {
-    int x_290 = asint(x_10[0].x);
-    int x_293 = asint(x_10[1].x);
-    int x_296 = asint(x_10[1].x);
-    int x_299 = asint(x_10[0].x);
-    x_GLF_color = float4(float(x_290), float(x_293), float(x_296), float(x_299));
+    int x_290 = asint(x_10[0u].x);
+    int x_293 = asint(x_10[1u].x);
+    int x_296 = asint(x_10[1u].x);
+    int x_299 = asint(x_10[0u].x);
+    float v = float(x_290);
+    float v_1 = float(x_293);
+    float v_2 = float(x_296);
+    x_GLF_color = float4(v, v_1, v_2, float(x_299));
   } else {
-    int x_303 = asint(x_10[1].x);
+    int x_303 = asint(x_10[1u].x);
     float x_304 = float(x_303);
     x_GLF_color = float4(x_304, x_304, x_304, x_304);
   }
-  return;
 }
 
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
 main_out main_inner() {
   main_1();
-  main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
+  main_out v_3 = {x_GLF_color};
+  return v_3;
 }
 
-tint_symbol main() {
-  main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
+main_outputs main() {
+  main_out v_4 = main_inner();
+  main_outputs v_5 = {v_4.x_GLF_color_1};
+  return v_5;
 }
+
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.dxc.hlsl
index 91c03c0..92e1e74 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.dxc.hlsl
@@ -20,7 +20,7 @@
   uint4 x_10[2];
 };
 void main_1() {
-  int i = 0;
+  int i = int(0);
   x_GLF_color = float4((asfloat(x_5[0u].x)).xxxx);
   float v = asfloat(x_7[0u].x);
   if ((v > asfloat(x_5[0u].x))) {
@@ -55,7 +55,7 @@
                 float v_4 = asfloat(x_5[0u].x);
                 x_GLF_color = float4(v_2, v_3, v_4, asfloat(x_5[1u].x));
                 {
-                  i = (i + 1);
+                  i = (i + int(1));
                 }
                 continue;
               }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.fxc.hlsl
index 50caa0a..2c0a48d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.ir.fxc.hlsl
@@ -20,7 +20,7 @@
   uint4 x_10[2];
 };
 void main_1() {
-  int i = 0;
+  int i = int(0);
   x_GLF_color = float4((asfloat(x_5[0u].x)).xxxx);
   float v = asfloat(x_7[0u].x);
   if ((v > asfloat(x_5[0u].x))) {
@@ -55,7 +55,7 @@
                 float v_4 = asfloat(x_5[0u].x);
                 x_GLF_color = float4(v_2, v_3, v_4, asfloat(x_5[1u].x));
                 {
-                  i = (i + 1);
+                  i = (i + int(1));
                 }
                 continue;
               }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.dxc.hlsl
index 0d26633..eed58a8 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.dxc.hlsl
@@ -20,7 +20,7 @@
   uint4 x_10[2];
 };
 void main_1() {
-  int i = 0;
+  int i = int(0);
   float x_38 = asfloat(x_5[0u].x);
   x_GLF_color = float4(x_38, x_38, x_38, x_38);
   float x_41 = asfloat(x_7[0u].x);
@@ -62,7 +62,7 @@
                 x_GLF_color = float4(x_73, x_75, x_77, x_79);
                 {
                   int x_16 = i;
-                  i = (x_16 + 1);
+                  i = (x_16 + int(1));
                 }
                 continue;
               }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.fxc.hlsl
index 5ca3339..a56022b 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.ir.fxc.hlsl
@@ -20,7 +20,7 @@
   uint4 x_10[2];
 };
 void main_1() {
-  int i = 0;
+  int i = int(0);
   float x_38 = asfloat(x_5[0u].x);
   x_GLF_color = float4(x_38, x_38, x_38, x_38);
   float x_41 = asfloat(x_7[0u].x);
@@ -62,7 +62,7 @@
                 x_GLF_color = float4(x_73, x_75, x_77, x_79);
                 {
                   int x_16 = i;
-                  i = (x_16 + 1);
+                  i = (x_16 + int(1));
                 }
                 continue;
               }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.dxc.hlsl
index dbaf6ca..5505ca5d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.dxc.hlsl
@@ -14,11 +14,11 @@
   uint4 x_6[1];
 };
 void main_1() {
-  int GLF_dead6index = 0;
-  int GLF_dead6currentNode = 0;
+  int GLF_dead6index = int(0);
+  int GLF_dead6currentNode = int(0);
   int donor_replacementGLF_dead6tree[1] = (int[1])0;
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  GLF_dead6index = 0;
+  GLF_dead6index = int(0);
   if ((asfloat(x_6[0u].y) < 0.0f)) {
     {
       while(true) {
@@ -26,7 +26,8 @@
         } else {
           break;
         }
-        GLF_dead6currentNode = donor_replacementGLF_dead6tree[GLF_dead6index];
+        int v = GLF_dead6index;
+        GLF_dead6currentNode = donor_replacementGLF_dead6tree[v];
         GLF_dead6index = GLF_dead6currentNode;
         {
         }
@@ -38,19 +39,19 @@
 
 main_out main_inner() {
   main_1();
-  main_out v = {x_GLF_color};
-  return v;
+  main_out v_1 = {x_GLF_color};
+  return v_1;
 }
 
 main_outputs main() {
-  main_out v_1 = main_inner();
-  main_outputs v_2 = {v_1.x_GLF_color_1};
-  return v_2;
+  main_out v_2 = main_inner();
+  main_outputs v_3 = {v_2.x_GLF_color_1};
+  return v_3;
 }
 
 DXC validation failure:
 error: validation errors
-hlsl.hlsl:43: error: Loop must have break.
+hlsl.hlsl:44: error: Loop must have break.
 Validation failed.
 
 
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.fxc.hlsl
index e9c9a4c..df79f69 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.ir.fxc.hlsl
@@ -14,11 +14,11 @@
   uint4 x_6[1];
 };
 void main_1() {
-  int GLF_dead6index = 0;
-  int GLF_dead6currentNode = 0;
+  int GLF_dead6index = int(0);
+  int GLF_dead6currentNode = int(0);
   int donor_replacementGLF_dead6tree[1] = (int[1])0;
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  GLF_dead6index = 0;
+  GLF_dead6index = int(0);
   if ((asfloat(x_6[0u].y) < 0.0f)) {
     {
       while(true) {
@@ -26,7 +26,8 @@
         } else {
           break;
         }
-        GLF_dead6currentNode = donor_replacementGLF_dead6tree[GLF_dead6index];
+        int v = GLF_dead6index;
+        GLF_dead6currentNode = donor_replacementGLF_dead6tree[v];
         GLF_dead6index = GLF_dead6currentNode;
         {
         }
@@ -38,14 +39,14 @@
 
 main_out main_inner() {
   main_1();
-  main_out v = {x_GLF_color};
-  return v;
+  main_out v_1 = {x_GLF_color};
+  return v_1;
 }
 
 main_outputs main() {
-  main_out v_1 = main_inner();
-  main_outputs v_2 = {v_1.x_GLF_color_1};
-  return v_2;
+  main_out v_2 = main_inner();
+  main_outputs v_3 = {v_2.x_GLF_color_1};
+  return v_3;
 }
 
 FXC validation failure:
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.dxc.hlsl
index 6aeaa1c..580c58e 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.dxc.hlsl
@@ -14,11 +14,11 @@
   uint4 x_6[1];
 };
 void main_1() {
-  int GLF_dead6index = 0;
-  int GLF_dead6currentNode = 0;
+  int GLF_dead6index = int(0);
+  int GLF_dead6currentNode = int(0);
   int donor_replacementGLF_dead6tree[1] = (int[1])0;
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  GLF_dead6index = 0;
+  GLF_dead6index = int(0);
   float x_34 = asfloat(x_6[0u].y);
   if ((x_34 < 0.0f)) {
     {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.fxc.hlsl
index c0ba774..ca06dc7 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.ir.fxc.hlsl
@@ -14,11 +14,11 @@
   uint4 x_6[1];
 };
 void main_1() {
-  int GLF_dead6index = 0;
-  int GLF_dead6currentNode = 0;
+  int GLF_dead6index = int(0);
+  int GLF_dead6currentNode = int(0);
   int donor_replacementGLF_dead6tree[1] = (int[1])0;
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  GLF_dead6index = 0;
+  GLF_dead6index = int(0);
   float x_34 = asfloat(x_6[0u].y);
   if ((x_34 < 0.0f)) {
     {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.dxc.hlsl
index 2904431..55b166b 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.dxc.hlsl
@@ -14,7 +14,7 @@
   uint4 x_5[1];
 };
 void main_1() {
-  int m = 0;
+  int m = int(0);
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
   float v = asfloat(x_5[0u].x);
   if ((v > asfloat(x_5[0u].y))) {
@@ -26,7 +26,7 @@
         continue;
       }
     }
-    m = 1;
+    m = int(1);
     {
       while(true) {
         if (true) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.fxc.hlsl
index b647611..8ab884d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
   uint4 x_5[1];
 };
 void main_1() {
-  int m = 0;
+  int m = int(0);
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
   float v = asfloat(x_5[0u].x);
   if ((v > asfloat(x_5[0u].y))) {
@@ -26,7 +26,7 @@
         continue;
       }
     }
-    m = 1;
+    m = int(1);
     {
       while(true) {
         if (true) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.dxc.hlsl
index 944df9e..ab8af9e 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.dxc.hlsl
@@ -14,7 +14,7 @@
   uint4 x_5[1];
 };
 void main_1() {
-  int m = 0;
+  int m = int(0);
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
   float x_30 = asfloat(x_5[0u].x);
   float x_32 = asfloat(x_5[0u].y);
@@ -27,7 +27,7 @@
         continue;
       }
     }
-    m = 1;
+    m = int(1);
     {
       while(true) {
         if (true) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.fxc.hlsl
index 667a757..9be5fc8 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
   uint4 x_5[1];
 };
 void main_1() {
-  int m = 0;
+  int m = int(0);
   x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
   float x_30 = asfloat(x_5[0u].x);
   float x_32 = asfloat(x_5[0u].y);
@@ -27,7 +27,7 @@
         continue;
       }
     }
-    m = 1;
+    m = int(1);
     {
       while(true) {
         if (true) {