diff --git a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
index 6ee9b5a..6f883e5 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
@@ -2814,10 +2814,16 @@
             break;
         case wgsl::BuiltinFn::kTextureLoad:
             out << ".Load(";
-            // Multisampled textures do not support mip-levels.
-            if (!texture_type->Is<core::type::MultisampledTexture>()) {
-                pack_level_in_coords = true;
+            // Multisampled textures and read-write storage textures do not support mip-levels.
+            if (texture_type->Is<core::type::MultisampledTexture>()) {
+                break;
             }
+            if (auto* storage_texture_type = texture_type->As<core::type::StorageTexture>()) {
+                if (storage_texture_type->access() == core::Access::kReadWrite) {
+                    break;
+                }
+            }
+            pack_level_in_coords = true;
             break;
         case wgsl::BuiltinFn::kTextureGather:
             out << ".Gather";
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.dxc.hlsl
index ba28dac..cb41341 100644
--- a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_012e11() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.fxc.hlsl
index ba28dac..cb41341 100644
--- a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_012e11() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.dxc.hlsl
index dbc8ae3..bd57ec9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_01cd01() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.fxc.hlsl
index dbc8ae3..bd57ec9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_01cd01() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.dxc.hlsl
index ac94382..c0e185b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_02c48d() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.fxc.hlsl
index ac94382..c0e185b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_02c48d() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
index 483bf11..3d4c55f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_02ef1f() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
index 483bf11..3d4c55f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_02ef1f() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.dxc.hlsl
index 9a478cc..8cca30b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_03e03e() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.fxc.hlsl
index 9a478cc..8cca30b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_03e03e() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.dxc.hlsl
index a36ae14..977cd6e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_054350() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.fxc.hlsl
index a36ae14..977cd6e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_054350() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.dxc.hlsl
index b80ac00..c337d48 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_0b515a() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.fxc.hlsl
index b80ac00..c337d48 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_0b515a() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.dxc.hlsl
index 7ba3a12..922d1dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_126466() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.fxc.hlsl
index 7ba3a12..922d1dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_126466() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
index ef9c995..891ee5c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_14cc4c() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
index ef9c995..891ee5c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_14cc4c() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.dxc.hlsl
index 5c402bc..03785d1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1619bf() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.fxc.hlsl
index 5c402bc..03785d1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1619bf() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.dxc.hlsl
index d2eac14..1de9034 100644
--- a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_170593() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.fxc.hlsl
index d2eac14..1de9034 100644
--- a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_170593() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.dxc.hlsl
index 50af68c..afc9cfd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_17095b() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.fxc.hlsl
index 50af68c..afc9cfd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_17095b() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.dxc.hlsl
index 4ae5c83..9c07a9e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_19d6be() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.fxc.hlsl
index 4ae5c83..9c07a9e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_19d6be() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.dxc.hlsl
index 53e5ea3..9c43fa4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1b4332() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.fxc.hlsl
index 53e5ea3..9c43fa4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1b4332() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
index 62b6901..72e481a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1bc5ab() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
index 62b6901..72e481a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1bc5ab() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
index 775d2cd..bfa004d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1d43ae() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
index 775d2cd..bfa004d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1d43ae() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
index 061f43b..1f49313 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1e6baa() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
index 061f43b..1f49313 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_1e6baa() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.dxc.hlsl
index e50396a..e99d07c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_25b67f() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.fxc.hlsl
index e50396a..e99d07c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_25b67f() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
index 5f378d2..396c059 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_26b8f6() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
index 5f378d2..396c059 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_26b8f6() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.dxc.hlsl
index 9c6a29d..fb0e805 100644
--- a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_272e7a() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.fxc.hlsl
index 9c6a29d..fb0e805 100644
--- a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_272e7a() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.dxc.hlsl
index cb5f20d..aa522c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_2cee30() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.fxc.hlsl
index cb5f20d..aa522c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_2cee30() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
index 6f5bfba..1c368ca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_2dbfc2() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
index 6f5bfba..1c368ca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_2dbfc2() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
index 8431717..dcdb048 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_2eaf31() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
index 8431717..dcdb048 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_2eaf31() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
index e1d15fb..883c265 100644
--- a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_32a7b8() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
index e1d15fb..883c265 100644
--- a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_32a7b8() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.dxc.hlsl
index 324a7af..49f7964 100644
--- a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_34d97c() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.fxc.hlsl
index 324a7af..49f7964 100644
--- a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_34d97c() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.dxc.hlsl
index 2977575..4e4a254 100644
--- a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_39016c() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.fxc.hlsl
index 2977575..4e4a254 100644
--- a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_39016c() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.dxc.hlsl
index f34f6c2..b8549e8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_395447() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.fxc.hlsl
index f34f6c2..b8549e8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_395447() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.dxc.hlsl
index 9d51bab..8e15e4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3a2350() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.fxc.hlsl
index 9d51bab..8e15e4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3a2350() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.dxc.hlsl
index 923adb6..d1b69d1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3aea13() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.fxc.hlsl
index 923adb6..d1b69d1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3aea13() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
index 453644b..ef1e303 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3bbc2b() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
index 453644b..ef1e303 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3bbc2b() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
index 2225aa3..6288721 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3cfb9c() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
index 2225aa3..6288721 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_3cfb9c() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
index 3efb53a..1cca04c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_40ee8b() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
index 3efb53a..1cca04c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_40ee8b() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.dxc.hlsl
index 73036ba..6d8e452 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4212a1() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.fxc.hlsl
index 73036ba..6d8e452 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4212a1() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.dxc.hlsl
index a395225..3beebde 100644
--- a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_424afd() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.fxc.hlsl
index a395225..3beebde 100644
--- a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_424afd() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.dxc.hlsl
index da67847..5348338 100644
--- a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_42a631() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.fxc.hlsl
index da67847..5348338 100644
--- a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_42a631() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.dxc.hlsl
index d2c8bd7..59e6534 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_43484a() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.fxc.hlsl
index d2c8bd7..59e6534 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_43484a() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.dxc.hlsl
index 3b04b13..87187c9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_43cd86() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.fxc.hlsl
index 3b04b13..87187c9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_43cd86() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.dxc.hlsl
index fc1da3f..a18a168 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4542ae() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.fxc.hlsl
index fc1da3f..a18a168 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4542ae() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.dxc.hlsl
index bfe4032..cfd34e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_469912() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.fxc.hlsl
index bfe4032..cfd34e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_469912() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.dxc.hlsl
index 16442a1..bec12a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_473d3e() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.fxc.hlsl
index 16442a1..bec12a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_473d3e() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.dxc.hlsl
index e5b8fea..4d3a45b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_482627() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.fxc.hlsl
index e5b8fea..4d3a45b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_482627() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
index d6d30b2..4d91386 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4a5c55() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
index d6d30b2..4d91386 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4a5c55() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
index b0d85ff..a20cd62 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4c15b2() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
index b0d85ff..a20cd62 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4c15b2() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
index 3f32bac..2e8ac09 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4c1a1e() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
index 3f32bac..2e8ac09 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4c1a1e() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
index d1403c6..d8b5bf7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4ccf9a() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
index d1403c6..d8b5bf7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4ccf9a() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
index 0058f8f..242b160 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4e2c5c() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
index 0058f8f..242b160 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4e2c5c() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.dxc.hlsl
index 917edb0..3fd4718 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4f5496() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.fxc.hlsl
index 917edb0..3fd4718 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4f5496() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
index 198b9ac..1298c94 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4f90bb() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
index 198b9ac..1298c94 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_4f90bb() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.dxc.hlsl
index 0468c00..2b097a6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5154e1() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.fxc.hlsl
index 0468c00..2b097a6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5154e1() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.dxc.hlsl
index d0d989a..2ec497d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_53941c() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.fxc.hlsl
index d0d989a..2ec497d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_53941c() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.dxc.hlsl
index ca1a083..dcd7c36 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_54fb38() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.fxc.hlsl
index ca1a083..dcd7c36 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_54fb38() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.dxc.hlsl
index 5e4ac2b..5371ba1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_56a000() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.fxc.hlsl
index 5e4ac2b..5371ba1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_56a000() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
index 5094ca8..34425c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5b0f5b() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
index 5094ca8..34425c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5b0f5b() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.dxc.hlsl
index 1b43bc6..35ed91a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5b4947() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.fxc.hlsl
index 1b43bc6..35ed91a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5b4947() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
index 81d5fa2..208d04b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5c69f8() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
index 81d5fa2..208d04b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5c69f8() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
index 02b676c..4ce1e23 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5cd3fc() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
index 02b676c..4ce1e23 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5cd3fc() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
index c506526..d2d2018 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5e17a7() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
index c506526..d2d2018 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5e17a7() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.dxc.hlsl
index bacc241..438f918 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5e1843() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.fxc.hlsl
index bacc241..438f918 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_5e1843() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
index 7633551..c643db2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_61e2e8() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
index 7633551..c643db2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_61e2e8() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.dxc.hlsl
index 681c24d..79bb6d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_622278() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.fxc.hlsl
index 681c24d..79bb6d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_622278() {
-  uint4 res = arg_0.Load(int4((1).xxx, 0));
+  uint4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.dxc.hlsl
index 4001a62..e4f42b1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_64c372() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.fxc.hlsl
index 4001a62..e4f42b1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_64c372() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.dxc.hlsl
index 3ce76bb..82ed508 100644
--- a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_666010() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.fxc.hlsl
index 3ce76bb..82ed508 100644
--- a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_666010() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.dxc.hlsl
index ae5bec4..f7c07d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_67d826() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.fxc.hlsl
index ae5bec4..f7c07d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_67d826() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.dxc.hlsl
index edbe60a..3b8e2b2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_68d273() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.fxc.hlsl
index edbe60a..3b8e2b2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_68d273() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.dxc.hlsl
index 5faf07f..5981b77 100644
--- a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_69fee5() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.fxc.hlsl
index 5faf07f..5981b77 100644
--- a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_69fee5() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.dxc.hlsl
index c09df56..c8d339c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6a6871() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.fxc.hlsl
index c09df56..c8d339c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6a6871() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
index c7f9c8b..b71f839 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6b8ba6() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
index c7f9c8b..b71f839 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6b8ba6() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
index 2225000..58d828e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6ba9ab() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
index 2225000..58d828e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6ba9ab() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
index 8ac4fc5..e923d3c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6bf3e2() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
index 8ac4fc5..e923d3c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6bf3e2() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
index 2cff1a8..355f4c8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6d1fb4() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
index 2cff1a8..355f4c8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6d1fb4() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
index 5b80f10..942e473 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6d7bb5() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
index 5b80f10..942e473 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6d7bb5() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.dxc.hlsl
index 0f73d5f..612d012 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6e903f() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.fxc.hlsl
index 0f73d5f..612d012 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6e903f() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
index 732fc84..6fb709b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6f0ea8() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
index 732fc84..6fb709b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6f0ea8() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.dxc.hlsl
index ab08156..0c3ea5b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6f8927() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.fxc.hlsl
index ab08156..0c3ea5b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_6f8927() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.dxc.hlsl
index 121c4b2..18a095f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_742f1b() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.fxc.hlsl
index 121c4b2..18a095f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_742f1b() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.dxc.hlsl
index 74cbaa1..819d275 100644
--- a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_74a387() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.fxc.hlsl
index 74cbaa1..819d275 100644
--- a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_74a387() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
index 428d215..b2e60a0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_7e5cbc() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
index 428d215..b2e60a0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_7e5cbc() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.dxc.hlsl
index 2fba535..5fa3930 100644
--- a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_80dae1() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.fxc.hlsl
index 2fba535..5fa3930 100644
--- a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_80dae1() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
index 76ec392..569f198 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_83d6e3() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
index 76ec392..569f198 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_83d6e3() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.dxc.hlsl
index c9a4cb1..f138842 100644
--- a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_848d85() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.fxc.hlsl
index c9a4cb1..f138842 100644
--- a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_848d85() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.dxc.hlsl
index 49a9a15..e15bdbf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_84a438() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.fxc.hlsl
index 49a9a15..e15bdbf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_84a438() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.dxc.hlsl
index be38ddc..731513b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_878e24() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.fxc.hlsl
index be38ddc..731513b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_878e24() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
index d3aee33..34b5e7a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_87f0a6() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
index d3aee33..34b5e7a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_87f0a6() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.dxc.hlsl
index a8d9823..9b00a13 100644
--- a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_881349() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.fxc.hlsl
index a8d9823..9b00a13 100644
--- a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_881349() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
index e4b5190..da41cd1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8b62fb() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
index e4b5190..da41cd1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8b62fb() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
index b6342ee..4399277 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8bf8c2() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
index b6342ee..4399277 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8bf8c2() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.dxc.hlsl
index 78eaba2..d4f06c4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8c6176() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.fxc.hlsl
index 78eaba2..d4f06c4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8c6176() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
index 1e964f8..fe7e164 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8d64c3() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
index 1e964f8..fe7e164 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8d64c3() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
index 2b55a6f..fffa74c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8e68c9() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
index 2b55a6f..fffa74c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8e68c9() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
index 94ebc84..689e1309 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8fc29b() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
index 94ebc84..689e1309 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_8fc29b() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.dxc.hlsl
index 6cc3b2c..67fd5c7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_91ede5() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.fxc.hlsl
index 6cc3b2c..67fd5c7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_91ede5() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.dxc.hlsl
index 90542e8..088e643 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_9242e7() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.fxc.hlsl
index 90542e8..088e643 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_9242e7() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.dxc.hlsl
index 6274206..b79e24d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_93f23e() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.fxc.hlsl
index 6274206..b79e24d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_93f23e() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
index 601d5f6..748e025 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_9fa9fd() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
index 601d5f6..748e025 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_9fa9fd() {
-  uint4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  uint4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
index 14ec6c0..4a9b62f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_9fd7be() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
index 14ec6c0..4a9b62f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_9fd7be() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  uint4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
index a909a28..9a9643b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a2b3f4() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
index a909a28..9a9643b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a2b3f4() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.dxc.hlsl
index 8d19706..f793c7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a3733f() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.fxc.hlsl
index 8d19706..f793c7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a3733f() {
-  uint4 res = arg_0.Load(int3((1).xx, 0));
+  uint4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.dxc.hlsl
index 5c46e13..da533b2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a3f122() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.fxc.hlsl
index 5c46e13..da533b2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a3f122() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.dxc.hlsl
index 38e6873..1befed8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a548a8() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.fxc.hlsl
index 38e6873..1befed8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a548a8() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.dxc.hlsl
index 52360d5..cf1dc51 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a54e11() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.fxc.hlsl
index 52360d5..cf1dc51 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a54e11() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
index ba303b1..8f986cc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a5c4e2() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
index ba303b1..8f986cc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a5c4e2() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
index dfe872c..eb57026 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a5e0a5() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
index dfe872c..eb57026 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a5e0a5() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
index 58cafef..ff7a711 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a64b1d() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
index 58cafef..ff7a711 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a64b1d() {
-  float4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  float4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
index 174df9b..07fa72c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a7bcb4() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
index 174df9b..07fa72c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a7bcb4() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.dxc.hlsl
index a6a94c1..40e1ac8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a7c171() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.fxc.hlsl
index a6a94c1..40e1ac8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a7c171() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.dxc.hlsl
index 2ddc8a2..b3e5935 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a92b18() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.fxc.hlsl
index 2ddc8a2..b3e5935 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a92b18() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.dxc.hlsl
index 97b0517..5abf6b3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_aa2579() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.fxc.hlsl
index 97b0517..5abf6b3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_aa2579() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.dxc.hlsl
index 04657ae..626e20f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_aa6130() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.fxc.hlsl
index 04657ae..626e20f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_aa6130() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
index e461923..b08475c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_aae9c3() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
index e461923..b08475c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_aae9c3() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.dxc.hlsl
index 1458b5e..ad2d795 100644
--- a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_acf22f() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.fxc.hlsl
index 1458b5e..ad2d795 100644
--- a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_acf22f() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.dxc.hlsl
index 400a130..d454799 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ad551e() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.fxc.hlsl
index 400a130..d454799 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ad551e() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.dxc.hlsl
index e0e0e01..808c0fe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_af0507() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.fxc.hlsl
index e0e0e01..808c0fe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_af0507() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
index a33768d..ffbb1f4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b1ca35() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
index a33768d..ffbb1f4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b1ca35() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.dxc.hlsl
index a22e3fe..165ca28 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b25644() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.fxc.hlsl
index a22e3fe..165ca28 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b25644() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.dxc.hlsl
index 68cc7ac..9786df1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b27c33() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.fxc.hlsl
index 68cc7ac..9786df1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b27c33() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
index a596b4d..ff5c26f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b4d6c4() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
index a596b4d..ff5c26f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b4d6c4() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.dxc.hlsl
index 7f9ccd4..a5d3761 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b60a86() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.fxc.hlsl
index 7f9ccd4..a5d3761 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b60a86() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.dxc.hlsl
index 33f5029..841f5b8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b60db7() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.fxc.hlsl
index 33f5029..841f5b8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b60db7() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
index df9c8da..864a466 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b75c8f() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
index df9c8da..864a466 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b75c8f() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.dxc.hlsl
index f9fc079..e9d58b5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ba023a() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.fxc.hlsl
index f9fc079..e9d58b5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ba023a() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
index 189e02e..be2993e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ba74b2() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
index 189e02e..be2993e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ba74b2() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.dxc.hlsl
index 5633b2b..18cd209 100644
--- a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_babdf3() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.fxc.hlsl
index 5633b2b..18cd209 100644
--- a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_babdf3() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.dxc.hlsl
index 53540bc..2078ceb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bba04a() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.fxc.hlsl
index 53540bc..2078ceb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bba04a() {
-  uint4 res = arg_0.Load(uint2(1u, uint(0)));
+  uint4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.dxc.hlsl
index 6f7f800..52c64dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bbb762() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.fxc.hlsl
index 6f7f800..52c64dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bbb762() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.dxc.hlsl
index 25693ff..222f58f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bd990a() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.fxc.hlsl
index 25693ff..222f58f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bd990a() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
index f47b646..2956e98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bdc67a() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
index f47b646..2956e98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_bdc67a() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
index 318793e..a8dcb43 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c2d09a() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
index 318793e..a8dcb43 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c2d09a() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
index b56204f..900e52a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c5c86d() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
index b56204f..900e52a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c5c86d() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.dxc.hlsl
index 0512c81..1a18855 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c7e313() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.fxc.hlsl
index 0512c81..1a18855 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c7e313() {
-  uint4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  uint4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.dxc.hlsl
index 6f39a49..d76e67f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c80691() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.fxc.hlsl
index 6f39a49..d76e67f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c80691() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
index a04fe21..6f3abee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c98bf4() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
index a04fe21..6f3abee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c98bf4() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.dxc.hlsl
index a823b46..917955c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c9b083() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.fxc.hlsl
index a823b46..917955c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c9b083() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.dxc.hlsl
index fd56892..14df3e5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c9f310() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.fxc.hlsl
index fd56892..14df3e5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c9f310() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.dxc.hlsl
index a4dbc57..25199d1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cac876() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.fxc.hlsl
index a4dbc57..25199d1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cac876() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
index 5a3e4cc..e7fa3cb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cdbcf6() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
index 5a3e4cc..e7fa3cb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cdbcf6() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
index 349dff1..d9b7202 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cdccd2() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
index 349dff1..d9b7202 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cdccd2() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
index 232aad3..20306c7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cddf6b() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
index 232aad3..20306c7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cddf6b() {
-  float4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  float4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.dxc.hlsl
index 38346dd..97c7a29 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cec477() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.fxc.hlsl
index 38346dd..97c7a29 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cec477() {
-  int4 res = arg_0.Load(uint4((1u).xxx, uint(0)));
+  int4 res = arg_0.Load((1u).xxx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.dxc.hlsl
index a88897a..5c04b58 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d0e351() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.fxc.hlsl
index a88897a..5c04b58 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d0e351() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.dxc.hlsl
index 9ab3c51..10d37bc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d37a08() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.fxc.hlsl
index 9ab3c51..10d37bc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d37a08() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
index 2430341..5f91efb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d3d8fc() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
index 2430341..5f91efb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d3d8fc() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.dxc.hlsl
index 21dddc6..ce33369 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d41c72() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.fxc.hlsl
index 21dddc6..ce33369 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d41c72() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.dxc.hlsl
index 0f0ff1b..a2f8ce0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d72de9() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.fxc.hlsl
index 0f0ff1b..a2f8ce0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d72de9() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.dxc.hlsl
index 9296880..1d6fde5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d7996a() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.fxc.hlsl
index 9296880..1d6fde5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d7996a() {
-  int4 res = arg_0.Load(int4((1).xxx, 0));
+  int4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
index fe03504..a53229e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d79c5c() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
index fe03504..a53229e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d79c5c() {
-  uint4 res = arg_0.Load(int2(1, 0));
+  uint4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
index b512580..6709451 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d80ff3() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
index b512580..6709451 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d80ff3() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
index 5ae36de..5b8014d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d8be5a() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
index 5ae36de..5b8014d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d8be5a() {
-  int4 res = arg_0.Load(int2(1, 0));
+  int4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.dxc.hlsl
index 1001f58..3bb0bab 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d91f37() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.fxc.hlsl
index 1001f58..3bb0bab 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_d91f37() {
-  float4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  float4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.dxc.hlsl
index 290484e..d86d01a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_dab04f() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.fxc.hlsl
index 290484e..d86d01a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_dab04f() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.dxc.hlsl
index 7732b2f..d730179 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_dd5859() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.fxc.hlsl
index 7732b2f..d730179 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_dd5859() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
index 5af37d6..51375f1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_de5a0e() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
index 5af37d6..51375f1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_de5a0e() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, 1u), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, 1u));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.dxc.hlsl
index 1630d85..3250475 100644
--- a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_defd9a() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.fxc.hlsl
index 1630d85..3250475 100644
--- a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_defd9a() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
index 7430d5f..b2369df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e1c3cf() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
index 7430d5f..b2369df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e1c3cf() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
index 2eb1fa1..1e6c215 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e2b3a1() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
index 2eb1fa1..1e6c215 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e2b3a1() {
-  int4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  int4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
index 5390380..3373993 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e2d7da() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
index 5390380..3373993 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e2d7da() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.dxc.hlsl
index a7bce02..5770d52 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e33285() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.fxc.hlsl
index a7bce02..5770d52 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e33285() {
-  int4 res = arg_0.Load(int3((1).xx, 0));
+  int4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
index c844c58..c7a35e5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e9eb65() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
index c844c58..c7a35e5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e9eb65() {
-  uint4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  uint4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
index 1da60fe..e7c57c7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ed55a8() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
index 1da60fe..e7c57c7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ed55a8() {
-  int4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  int4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
index c7b6e86..212b5e5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ef2ec3() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
index c7b6e86..212b5e5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_ef2ec3() {
-  int4 res = arg_0.Load(uint2(1u, uint(0)));
+  int4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.dxc.hlsl
index a447c56..9ebb041 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f0514a() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.fxc.hlsl
index a447c56..9ebb041 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f0514a() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.dxc.hlsl
index 4059c03..d2bf890 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f1c549() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.fxc.hlsl
index 4059c03..d2bf890 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f1c549() {
-  float4 res = arg_0.Load(int4((1).xxx, 0));
+  float4 res = arg_0.Load(int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.dxc.hlsl
index 8326c7f..d0383a1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f2c311() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.fxc.hlsl
index 8326c7f..d0383a1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f2c311() {
-  int4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  int4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
index 8eebd10..2f2852f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f5fbc6() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
index 8eebd10..2f2852f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f5fbc6() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
index 6124cde..fabed75 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f7f3bc() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
index 6124cde..fabed75 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f7f3bc() {
-  float4 res = arg_0.Load(int2(1, 0));
+  float4 res = arg_0.Load(1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.dxc.hlsl
index 3f55d0d..e87873469c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f81792() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.fxc.hlsl
index 3f55d0d..e87873469c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f81792() {
-  float4 res = arg_0.Load(int4(int3((1).xx, 1), 0));
+  float4 res = arg_0.Load(int3((1).xx, 1));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
index 15e87af..4e75ae7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f82eb2() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
index 15e87af..4e75ae7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f82eb2() {
-  float4 res = arg_0.Load(uint2(1u, uint(0)));
+  float4 res = arg_0.Load(1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
index 13e9e34..ddbf572 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f92c2d() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
index 13e9e34..ddbf572 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_f92c2d() {
-  float4 res = arg_0.Load(int3((1).xx, 0));
+  float4 res = arg_0.Load(int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
index 564d593..b9c2615 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_fc47ff() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
index 564d593..b9c2615 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_fc47ff() {
-  int4 res = arg_0.Load(uint3((1u).xx, uint(0)));
+  int4 res = arg_0.Load((1u).xx);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.dxc.hlsl
index f476d7b..7309ff0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_fd9606() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.fxc.hlsl
index f476d7b..7309ff0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_fd9606() {
-  float4 res = arg_0.Load(uint4(uint3((1u).xx, uint(1)), uint(0)));
+  float4 res = arg_0.Load(uint3((1u).xx, uint(1)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
index 698bb20..eb03961 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_fe2c1b() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
index 698bb20..eb03961 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_fe2c1b() {
-  uint4 res = arg_0.Load(int4(int3((1).xx, int(1u)), 0));
+  uint4 res = arg_0.Load(int3((1).xx, int(1u)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.dxc.hlsl
index ed8914b..c8e0147 100644
--- a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_012e11() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.fxc.hlsl
index ed8914b..c8e0147 100644
--- a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_012e11() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.dxc.hlsl
index 5b1d396..c26f11e 100644
--- a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_01cd01() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.fxc.hlsl
index 5b1d396..c26f11e 100644
--- a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_01cd01() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.dxc.hlsl
index 42eb176..e98e200 100644
--- a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_02c48d() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.fxc.hlsl
index 42eb176..e98e200 100644
--- a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_02c48d() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
index 3cdf376..1ec7c1c 100644
--- a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_02ef1f() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
index 3cdf376..1ec7c1c 100644
--- a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_02ef1f() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.dxc.hlsl
index 9281ef4..bee4d98 100644
--- a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_03e03e() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.fxc.hlsl
index 9281ef4..bee4d98 100644
--- a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_03e03e() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.dxc.hlsl
index 4aeb6ed..41375b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_054350() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.fxc.hlsl
index 4aeb6ed..41375b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_054350() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.dxc.hlsl
index 973f7dd..d8438a8 100644
--- a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_0b515a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.fxc.hlsl
index 973f7dd..d8438a8 100644
--- a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_0b515a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.dxc.hlsl
index 2a07030..bb28111 100644
--- a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_126466() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.fxc.hlsl
index 2a07030..bb28111 100644
--- a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_126466() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
index 0cc49ef..c551a86 100644
--- a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_14cc4c() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
index 0cc49ef..c551a86 100644
--- a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_14cc4c() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.dxc.hlsl
index 3cdab5f..4c44dad 100644
--- a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_1619bf() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.fxc.hlsl
index 3cdab5f..4c44dad 100644
--- a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_1619bf() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.dxc.hlsl
index daae320..b0ab00f 100644
--- a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_170593() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.fxc.hlsl
index daae320..b0ab00f 100644
--- a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_170593() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.dxc.hlsl
index 891df62..d97371a 100644
--- a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_17095b() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.fxc.hlsl
index 891df62..d97371a 100644
--- a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_17095b() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.dxc.hlsl
index 1db00c1..e67218f 100644
--- a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_19d6be() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.fxc.hlsl
index 1db00c1..e67218f 100644
--- a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_19d6be() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.dxc.hlsl
index a937ddd..90a7467 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1b4332() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.fxc.hlsl
index a937ddd..90a7467 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1b4332() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
index 9907916..eba2acf 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1bc5ab() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
index 9907916..eba2acf 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1bc5ab() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
index 69bfadb..fa536c9 100644
--- a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1d43ae() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
index 69bfadb..fa536c9 100644
--- a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1d43ae() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
index 723fbdb..9bf67ba 100644
--- a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1e6baa() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
index 723fbdb..9bf67ba 100644
--- a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_1e6baa() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.dxc.hlsl
index 80d2059..ab61a50 100644
--- a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_25b67f() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.fxc.hlsl
index 80d2059..ab61a50 100644
--- a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_25b67f() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
index d295efc..c1d8447 100644
--- a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_26b8f6() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
index d295efc..c1d8447 100644
--- a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_26b8f6() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.dxc.hlsl
index 4f941d4..ea5240e 100644
--- a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_272e7a() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.fxc.hlsl
index 4f941d4..ea5240e 100644
--- a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_272e7a() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.dxc.hlsl
index 0d52435..55c0c9a 100644
--- a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_2cee30() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.fxc.hlsl
index 0d52435..55c0c9a 100644
--- a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_2cee30() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
index e1d01e1..dfe06d1 100644
--- a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_2dbfc2() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
index e1d01e1..dfe06d1 100644
--- a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_2dbfc2() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
index ea0baf6..9a416c3 100644
--- a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_2eaf31() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
index ea0baf6..9a416c3 100644
--- a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_2eaf31() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
index 6fe8c7d..256afc9 100644
--- a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_32a7b8() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
index 6fe8c7d..256afc9 100644
--- a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_32a7b8() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.dxc.hlsl
index 2507763..59e096f 100644
--- a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_34d97c() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.fxc.hlsl
index 2507763..59e096f 100644
--- a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_34d97c() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.dxc.hlsl
index 4fd0a49..5bdecf6 100644
--- a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_39016c() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.fxc.hlsl
index 4fd0a49..5bdecf6 100644
--- a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_39016c() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.dxc.hlsl
index f4e2f92..186170a 100644
--- a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_395447() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.fxc.hlsl
index f4e2f92..186170a 100644
--- a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_395447() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.dxc.hlsl
index 8a618a9..e659f35 100644
--- a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_3a2350() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.fxc.hlsl
index 8a618a9..e659f35 100644
--- a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_3a2350() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.dxc.hlsl
index d2a188e..f8e5690 100644
--- a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_3aea13() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.fxc.hlsl
index d2a188e..f8e5690 100644
--- a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_3aea13() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
index 68a4968..d6fb3f4 100644
--- a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_3bbc2b() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
index 68a4968..d6fb3f4 100644
--- a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_3bbc2b() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
index 48307fc..2af5c2d 100644
--- a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_3cfb9c() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
index 48307fc..2af5c2d 100644
--- a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_3cfb9c() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
index 5b2ff24..d14bb9a 100644
--- a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_40ee8b() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
index 5b2ff24..d14bb9a 100644
--- a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_40ee8b() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.dxc.hlsl
index a772a93..c8cfcf9 100644
--- a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4212a1() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.fxc.hlsl
index a772a93..c8cfcf9 100644
--- a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4212a1() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.dxc.hlsl
index 4d8d34f..dba15c9 100644
--- a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_424afd() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.fxc.hlsl
index 4d8d34f..dba15c9 100644
--- a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_424afd() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.dxc.hlsl
index 90290d3..9698897 100644
--- a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_42a631() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.fxc.hlsl
index 90290d3..9698897 100644
--- a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_42a631() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.dxc.hlsl
index 177db48..8a77bc5 100644
--- a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_43484a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.fxc.hlsl
index 177db48..8a77bc5 100644
--- a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_43484a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.dxc.hlsl
index fbc24f2..c8f8180 100644
--- a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_43cd86() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.fxc.hlsl
index fbc24f2..c8f8180 100644
--- a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_43cd86() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.dxc.hlsl
index 7cc225c..4dc1341 100644
--- a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4542ae() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.fxc.hlsl
index 7cc225c..4dc1341 100644
--- a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4542ae() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.dxc.hlsl
index a3e51c6..a68eadd 100644
--- a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_469912() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.fxc.hlsl
index a3e51c6..a68eadd 100644
--- a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_469912() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.dxc.hlsl
index f03532d..df06023 100644
--- a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_473d3e() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.fxc.hlsl
index f03532d..df06023 100644
--- a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_473d3e() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.dxc.hlsl
index 556ba9d..4835316 100644
--- a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_482627() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.fxc.hlsl
index 556ba9d..4835316 100644
--- a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_482627() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
index 619d11f..a5be5e2 100644
--- a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4a5c55() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
index 619d11f..a5be5e2 100644
--- a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4a5c55() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
index f34a3da..8354fc5 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4c15b2() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
index f34a3da..8354fc5 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4c15b2() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
index 1a748ab..49be7dd 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4c1a1e() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
index 1a748ab..49be7dd 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4c1a1e() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
index 44c0bab..41da499 100644
--- a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4ccf9a() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
index 44c0bab..41da499 100644
--- a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4ccf9a() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
index 8f4b8bf..e489707 100644
--- a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4e2c5c() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
index 8f4b8bf..e489707 100644
--- a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4e2c5c() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.dxc.hlsl
index 862be69..f8b361a 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4f5496() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.fxc.hlsl
index 862be69..f8b361a 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_4f5496() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
index 3201328..9ef8e9a 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4f90bb() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
index 3201328..9ef8e9a 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_4f90bb() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.dxc.hlsl
index 439100b..70a01bd 100644
--- a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5154e1() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.fxc.hlsl
index 439100b..70a01bd 100644
--- a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5154e1() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.dxc.hlsl
index 15a1edf..12771be 100644
--- a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_53941c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.fxc.hlsl
index 15a1edf..12771be 100644
--- a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_53941c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.dxc.hlsl
index e0364c0..6814cbe 100644
--- a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_54fb38() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.fxc.hlsl
index e0364c0..6814cbe 100644
--- a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_54fb38() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.dxc.hlsl
index f7bc138..5a8e8b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_56a000() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.fxc.hlsl
index f7bc138..5a8e8b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_56a000() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
index b564b2f..16c98a8 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5b0f5b() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
index b564b2f..16c98a8 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5b0f5b() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.dxc.hlsl
index baf7598..51491f7 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5b4947() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.fxc.hlsl
index baf7598..51491f7 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5b4947() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
index 6aa08a9..0bfd6e5 100644
--- a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5c69f8() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
index 6aa08a9..0bfd6e5 100644
--- a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5c69f8() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
index 6adb86d..814f4df 100644
--- a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5cd3fc() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
index 6adb86d..814f4df 100644
--- a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5cd3fc() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
index 572a63b..1acdb4c 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5e17a7() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
index 572a63b..1acdb4c 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_5e17a7() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.dxc.hlsl
index 1a5aa0a..a827d6f 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_5e1843() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.fxc.hlsl
index 1a5aa0a..a827d6f 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_5e1843() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
index d59fbda..67aa6a5 100644
--- a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_61e2e8() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
index d59fbda..67aa6a5 100644
--- a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_61e2e8() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.dxc.hlsl
index 7ebc6a2..cabe1d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_622278() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.fxc.hlsl
index 7ebc6a2..cabe1d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_622278() {
   int3 arg_1 = (1).xxx;
-  uint4 res = arg_0.Load(int4(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.dxc.hlsl
index 39f4f4b..621b84f 100644
--- a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_64c372() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.fxc.hlsl
index 39f4f4b..621b84f 100644
--- a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_64c372() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.dxc.hlsl
index 14d5dba..4cedb2c 100644
--- a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_666010() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.fxc.hlsl
index 14d5dba..4cedb2c 100644
--- a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_666010() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.dxc.hlsl
index 52b3aa5..9352ad3 100644
--- a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_67d826() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.fxc.hlsl
index 52b3aa5..9352ad3 100644
--- a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_67d826() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.dxc.hlsl
index 8f51232..1bd4eb4 100644
--- a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_68d273() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.fxc.hlsl
index 8f51232..1bd4eb4 100644
--- a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_68d273() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.dxc.hlsl
index 731f5d0..d450db4 100644
--- a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_69fee5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.fxc.hlsl
index 731f5d0..d450db4 100644
--- a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_69fee5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.dxc.hlsl
index 74099c8..a4207ec 100644
--- a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_6a6871() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.fxc.hlsl
index 74099c8..a4207ec 100644
--- a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_6a6871() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
index cccaee0..3858e87 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6b8ba6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
index cccaee0..3858e87 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6b8ba6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
index f355791..072a3a4 100644
--- a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6ba9ab() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
index f355791..072a3a4 100644
--- a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6ba9ab() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
index e462429..e57185b 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6bf3e2() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
index e462429..e57185b 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6bf3e2() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
index 7a373c8..8438a7b 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6d1fb4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
index 7a373c8..8438a7b 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6d1fb4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
index 0e16d04..9f5f45a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6d7bb5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
index 0e16d04..9f5f45a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6d7bb5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.dxc.hlsl
index d8b2cdf..381d6c5 100644
--- a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_6e903f() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.fxc.hlsl
index d8b2cdf..381d6c5 100644
--- a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_6e903f() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
index 1de3c0b..f6677e4 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_6f0ea8() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
index 1de3c0b..f6677e4 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_6f0ea8() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.dxc.hlsl
index 9ccf420..6c230d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6f8927() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.fxc.hlsl
index 9ccf420..6c230d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_6f8927() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.dxc.hlsl
index 666dd5d..3728398 100644
--- a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_742f1b() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.fxc.hlsl
index 666dd5d..3728398 100644
--- a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_742f1b() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.dxc.hlsl
index 0cd6023..54ec8a5 100644
--- a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_74a387() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.fxc.hlsl
index 0cd6023..54ec8a5 100644
--- a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_74a387() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
index 2e6e126..74a5926 100644
--- a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_7e5cbc() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
index 2e6e126..74a5926 100644
--- a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_7e5cbc() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.dxc.hlsl
index 6ccec280..0e0cc54 100644
--- a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_80dae1() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.fxc.hlsl
index 6ccec280..0e0cc54 100644
--- a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_80dae1() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
index 5742a57..a6338f1 100644
--- a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_83d6e3() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
index 5742a57..a6338f1 100644
--- a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_83d6e3() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.dxc.hlsl
index 95fdafd..e367e1b 100644
--- a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_848d85() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.fxc.hlsl
index 95fdafd..e367e1b 100644
--- a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_848d85() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.dxc.hlsl
index b76c874..aa1ecca 100644
--- a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_84a438() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.fxc.hlsl
index b76c874..aa1ecca 100644
--- a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_84a438() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.dxc.hlsl
index 6f245e8..b7a79b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_878e24() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.fxc.hlsl
index 6f245e8..b7a79b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_878e24() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
index 8f328e8..f694b29 100644
--- a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_87f0a6() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
index 8f328e8..f694b29 100644
--- a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_87f0a6() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.dxc.hlsl
index 62db86b..00294f5 100644
--- a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_881349() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.fxc.hlsl
index 62db86b..00294f5 100644
--- a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_881349() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
index 694d407..acac4a9 100644
--- a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8b62fb() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
index 694d407..acac4a9 100644
--- a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8b62fb() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
index 78ff616..97d013f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8bf8c2() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
index 78ff616..97d013f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8bf8c2() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.dxc.hlsl
index cf907c0..43fddb3 100644
--- a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8c6176() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.fxc.hlsl
index cf907c0..43fddb3 100644
--- a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8c6176() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
index d865524..9168b47 100644
--- a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8d64c3() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
index d865524..9168b47 100644
--- a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8d64c3() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
index e084f7c..74ec6b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8e68c9() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
index e084f7c..74ec6b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8e68c9() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
index 5486f13..9848908 100644
--- a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8fc29b() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
index 5486f13..9848908 100644
--- a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_8fc29b() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.dxc.hlsl
index 8457ea4..e71e598 100644
--- a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_91ede5() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.fxc.hlsl
index 8457ea4..e71e598 100644
--- a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_91ede5() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.dxc.hlsl
index 7cade16..d5fc951 100644
--- a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_9242e7() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.fxc.hlsl
index 7cade16..d5fc951 100644
--- a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_9242e7() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.dxc.hlsl
index f94c03e..a395c86 100644
--- a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_93f23e() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.fxc.hlsl
index f94c03e..a395c86 100644
--- a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_93f23e() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
index 48751e2..a74ded1 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_9fa9fd() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
index 48751e2..a74ded1 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_9fa9fd() {
   uint3 arg_1 = (1u).xxx;
-  uint4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
index d84b01f..50fec20 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_9fd7be() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
index d84b01f..50fec20 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_9fd7be() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  uint4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
index 6829992..4267cf1 100644
--- a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a2b3f4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
index 6829992..4267cf1 100644
--- a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a2b3f4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.dxc.hlsl
index d600e06..3092ea2 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a3733f() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.fxc.hlsl
index d600e06..3092ea2 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a3733f() {
   int2 arg_1 = (1).xx;
-  uint4 res = arg_0.Load(int3(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.dxc.hlsl
index ab71c9c..c90df9f 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a3f122() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.fxc.hlsl
index ab71c9c..c90df9f 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a3f122() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.dxc.hlsl
index 142dcad..d6bac58 100644
--- a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a548a8() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.fxc.hlsl
index 142dcad..d6bac58 100644
--- a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a548a8() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.dxc.hlsl
index e20659f..666bc71 100644
--- a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a54e11() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.fxc.hlsl
index e20659f..666bc71 100644
--- a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a54e11() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
index 2d02646..b915e44 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a5c4e2() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
index 2d02646..b915e44 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a5c4e2() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
index ac1c45d..411d819 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a5e0a5() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
index ac1c45d..411d819 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a5e0a5() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
index 242e2c6..1716d2d 100644
--- a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a64b1d() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
index 242e2c6..1716d2d 100644
--- a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a64b1d() {
   uint3 arg_1 = (1u).xxx;
-  float4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
index 96f9533..8431a98 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a7bcb4() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
index 96f9533..8431a98 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a7bcb4() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.dxc.hlsl
index b077f2c..c24bb2d 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a7c171() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.fxc.hlsl
index b077f2c..c24bb2d 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_a7c171() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.dxc.hlsl
index 8cf2a9d..4acaa83 100644
--- a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a92b18() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.fxc.hlsl
index 8cf2a9d..4acaa83 100644
--- a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_a92b18() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.dxc.hlsl
index 6809cd7..988ee7d 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_aa2579() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.fxc.hlsl
index 6809cd7..988ee7d 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_aa2579() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.dxc.hlsl
index 334124d..bd68d0e 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_aa6130() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.fxc.hlsl
index 334124d..bd68d0e 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_aa6130() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
index 9b217a3..9b963bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_aae9c3() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
index 9b217a3..9b963bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_aae9c3() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.dxc.hlsl
index f6c45c3..8eeb999 100644
--- a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_acf22f() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.fxc.hlsl
index f6c45c3..8eeb999 100644
--- a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_acf22f() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.dxc.hlsl
index dd3f65f..25440f4 100644
--- a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_ad551e() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.fxc.hlsl
index dd3f65f..25440f4 100644
--- a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_ad551e() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.dxc.hlsl
index d17f3dc..889998f 100644
--- a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_af0507() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.fxc.hlsl
index d17f3dc..889998f 100644
--- a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_af0507() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
index 03270c8..bc8ff8e 100644
--- a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_b1ca35() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
index 03270c8..bc8ff8e 100644
--- a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_b1ca35() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.dxc.hlsl
index 356dcec..08d6fd8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_b25644() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.fxc.hlsl
index 356dcec..08d6fd8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_b25644() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.dxc.hlsl
index 5d5a240..fdcbca8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b27c33() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.fxc.hlsl
index 5d5a240..fdcbca8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b27c33() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
index 1bb452b..0b8895c 100644
--- a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b4d6c4() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
index 1bb452b..0b8895c 100644
--- a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b4d6c4() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.dxc.hlsl
index 6e7dc35..2f5b6fd 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b60a86() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.fxc.hlsl
index 6e7dc35..2f5b6fd 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b60a86() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.dxc.hlsl
index 3204b65..1097b1d 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_b60db7() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.fxc.hlsl
index 3204b65..1097b1d 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_b60db7() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
index 31b1243..d9bd335 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b75c8f() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
index 31b1243..d9bd335 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_b75c8f() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.dxc.hlsl
index 7c7760c..06f6e25 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_ba023a() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.fxc.hlsl
index 7c7760c..06f6e25 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_ba023a() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
index 55a022a..a856c03 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_ba74b2() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
index 55a022a..a856c03 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_ba74b2() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.dxc.hlsl
index 1618763..be2f0a9d 100644
--- a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_babdf3() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.fxc.hlsl
index 1618763..be2f0a9d 100644
--- a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_babdf3() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.dxc.hlsl
index 5a51be7..07271cc 100644
--- a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_bba04a() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.fxc.hlsl
index 5a51be7..07271cc 100644
--- a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_bba04a() {
   uint arg_1 = 1u;
-  uint4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.dxc.hlsl
index 6263208..2e114d2 100644
--- a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_bbb762() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.fxc.hlsl
index 6263208..2e114d2 100644
--- a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_bbb762() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.dxc.hlsl
index ef3826d..308245a 100644
--- a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_bd990a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.fxc.hlsl
index ef3826d..308245a 100644
--- a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_bd990a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
index bd29b9d..7812b47 100644
--- a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_bdc67a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
index bd29b9d..7812b47 100644
--- a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_bdc67a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
index 507cc6a..928b9b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_c2d09a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
index 507cc6a..928b9b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_c2d09a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
index 99fdbe7..f259c12 100644
--- a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_c5c86d() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
index 99fdbe7..f259c12 100644
--- a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_c5c86d() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.dxc.hlsl
index 796a973..2156b64 100644
--- a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c7e313() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.fxc.hlsl
index 796a973..2156b64 100644
--- a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c7e313() {
   uint2 arg_1 = (1u).xx;
-  uint4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.dxc.hlsl
index 46b2e57..b30d8ba 100644
--- a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c80691() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.fxc.hlsl
index 46b2e57..b30d8ba 100644
--- a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c80691() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
index f03bfbe..96b2412 100644
--- a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c98bf4() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
index f03bfbe..96b2412 100644
--- a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c98bf4() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.dxc.hlsl
index 2fdf32e..f5a5144 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_c9b083() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.fxc.hlsl
index 2fdf32e..f5a5144 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_c9b083() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.dxc.hlsl
index 1fc6238..e75cdc6 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c9f310() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.fxc.hlsl
index 1fc6238..e75cdc6 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_c9f310() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.dxc.hlsl
index 784d0cb..f8cb53b 100644
--- a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_cac876() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.fxc.hlsl
index 784d0cb..f8cb53b 100644
--- a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_cac876() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
index 47430e9..43f00af 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_cdbcf6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
index 47430e9..43f00af 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_cdbcf6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
index 8934d6a..0964dcd 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_cdccd2() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
index 8934d6a..0964dcd 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_cdccd2() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
index 0d2f938..6edec4e 100644
--- a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_cddf6b() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
index 0d2f938..6edec4e 100644
--- a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_cddf6b() {
   uint2 arg_1 = (1u).xx;
-  float4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.dxc.hlsl
index 5887ada..9d90c9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_cec477() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.fxc.hlsl
index 5887ada..9d90c9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_cec477() {
   uint3 arg_1 = (1u).xxx;
-  int4 res = arg_0.Load(uint4(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.dxc.hlsl
index ffd8af1..b884ea8 100644
--- a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d0e351() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.fxc.hlsl
index ffd8af1..b884ea8 100644
--- a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d0e351() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.dxc.hlsl
index e30fccb..473692c 100644
--- a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d37a08() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.fxc.hlsl
index e30fccb..473692c 100644
--- a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d37a08() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
index f8da529..ef2c53a 100644
--- a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d3d8fc() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
index f8da529..ef2c53a 100644
--- a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d3d8fc() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.dxc.hlsl
index ca0ef6b..c58a8e6 100644
--- a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d41c72() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.fxc.hlsl
index ca0ef6b..c58a8e6 100644
--- a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d41c72() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.dxc.hlsl
index 7c9c9b2..f06940b 100644
--- a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d72de9() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.fxc.hlsl
index 7c9c9b2..f06940b 100644
--- a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d72de9() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.dxc.hlsl
index f55d785..bde23d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d7996a() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.fxc.hlsl
index f55d785..bde23d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d7996a() {
   int3 arg_1 = (1).xxx;
-  int4 res = arg_0.Load(int4(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
index 58f5b5d..4ca6c56 100644
--- a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d79c5c() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
index 58f5b5d..4ca6c56 100644
--- a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d79c5c() {
   int arg_1 = 1;
-  uint4 res = arg_0.Load(int2(arg_1, 0));
+  uint4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
index bec688e..3e35dd3 100644
--- a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d80ff3() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
index bec688e..3e35dd3 100644
--- a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d80ff3() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
index 013890b..e75e556 100644
--- a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d8be5a() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
index 013890b..e75e556 100644
--- a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_d8be5a() {
   int arg_1 = 1;
-  int4 res = arg_0.Load(int2(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.dxc.hlsl
index 2a4ec6b..70a8bfe 100644
--- a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d91f37() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.fxc.hlsl
index 2a4ec6b..70a8bfe 100644
--- a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_d91f37() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  float4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  float4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.dxc.hlsl
index 8f5c6e8..9ca5ae2 100644
--- a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_dab04f() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.fxc.hlsl
index 8f5c6e8..9ca5ae2 100644
--- a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_dab04f() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.dxc.hlsl
index 7eb6574..e0f93c3 100644
--- a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_dd5859() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.fxc.hlsl
index 7eb6574..e0f93c3 100644
--- a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_dd5859() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
index d35e99d..bd81c5d 100644
--- a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_de5a0e() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
index d35e99d..bd81c5d 100644
--- a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_de5a0e() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, arg_2), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.dxc.hlsl
index c61892d..31ee602 100644
--- a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_defd9a() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.fxc.hlsl
index c61892d..31ee602 100644
--- a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_defd9a() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
index 43803aa..b3b9ea2 100644
--- a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_e1c3cf() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
index 43803aa..b3b9ea2 100644
--- a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_e1c3cf() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
index 8c0e193..3a2ea26 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_e2b3a1() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
index 8c0e193..3a2ea26 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_e2b3a1() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  int4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
index 353447c..137b789 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_e2d7da() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
index 353447c..137b789 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_e2d7da() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.dxc.hlsl
index 64b311e..61952c0 100644
--- a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_e33285() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.fxc.hlsl
index 64b311e..61952c0 100644
--- a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_e33285() {
   int2 arg_1 = (1).xx;
-  int4 res = arg_0.Load(int3(arg_1, 0));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
index 07dbf2c..362ba62 100644
--- a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_e9eb65() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
index 07dbf2c..362ba62 100644
--- a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_e9eb65() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  uint4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  uint4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
index 6b0a4c3..5eff9f1 100644
--- a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_ed55a8() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
index 6b0a4c3..5eff9f1 100644
--- a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_ed55a8() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  int4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  int4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
index e5efda2..dfd3cde 100644
--- a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_ef2ec3() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
index e5efda2..dfd3cde 100644
--- a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_ef2ec3() {
   uint arg_1 = 1u;
-  int4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.dxc.hlsl
index 892eb7c..c708a33 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f0514a() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.fxc.hlsl
index 892eb7c..c708a33 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f0514a() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.dxc.hlsl
index cddbcda..16938dd 100644
--- a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f1c549() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.fxc.hlsl
index cddbcda..16938dd 100644
--- a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f1c549() {
   int3 arg_1 = (1).xxx;
-  float4 res = arg_0.Load(int4(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.dxc.hlsl
index 7cceda2..e92351f 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_f2c311() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.fxc.hlsl
index 7cceda2..e92351f 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_f2c311() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  int4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  int4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
index d1696dc..32ad2e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_f5fbc6() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
index d1696dc..32ad2e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_f5fbc6() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
index 0b8f7be..4a80a53 100644
--- a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f7f3bc() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
index 0b8f7be..4a80a53 100644
--- a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f7f3bc() {
   int arg_1 = 1;
-  float4 res = arg_0.Load(int2(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.dxc.hlsl
index a3f1b44..bc84834 100644
--- a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_f81792() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.fxc.hlsl
index a3f1b44..bc84834 100644
--- a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_f81792() {
   int2 arg_1 = (1).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(int4(int3(arg_1, arg_2), 0));
+  float4 res = arg_0.Load(int3(arg_1, arg_2));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
index 9448f9d..6e27d36 100644
--- a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f82eb2() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
index 9448f9d..6e27d36 100644
--- a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f82eb2() {
   uint arg_1 = 1u;
-  float4 res = arg_0.Load(uint2(arg_1, uint(0)));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
index 91a5ae8..9279833 100644
--- a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f92c2d() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
index 91a5ae8..9279833 100644
--- a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_f92c2d() {
   int2 arg_1 = (1).xx;
-  float4 res = arg_0.Load(int3(arg_1, 0));
+  float4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
index c60828d..403b6fa 100644
--- a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_fc47ff() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
index c60828d..403b6fa 100644
--- a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 
 void textureLoad_fc47ff() {
   uint2 arg_1 = (1u).xx;
-  int4 res = arg_0.Load(uint3(arg_1, uint(0)));
+  int4 res = arg_0.Load(arg_1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.dxc.hlsl
index fd95f38..b7a9d13 100644
--- a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_fd9606() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.fxc.hlsl
index fd95f38..b7a9d13 100644
--- a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_fd9606() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = 1;
-  float4 res = arg_0.Load(uint4(uint3(arg_1, uint(arg_2)), uint(0)));
+  float4 res = arg_0.Load(uint3(arg_1, uint(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
index f415524..2e42799 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_fe2c1b() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
index f415524..2e42799 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void textureLoad_fe2c1b() {
   int2 arg_1 = (1).xx;
   uint arg_2 = 1u;
-  uint4 res = arg_0.Load(int4(int3(arg_1, int(arg_2)), 0));
+  uint4 res = arg_0.Load(int3(arg_1, int(arg_2)));
   prevent_dce.Store4(0u, asuint(res));
 }
 
